Winforms 如何在Visual C+中为窗体设置渐变背景色+;?
我刚开始使用VisualStudio2010。 我想知道如何将窗体的背景颜色设置成C++中的渐变色。 我在网上看到了一些源代码,但那是针对VisualBasic.NET的Winforms 如何在Visual C+中为窗体设置渐变背景色+;?,winforms,visual-studio-2010,visual-c++,linear-gradients,Winforms,Visual Studio 2010,Visual C++,Linear Gradients,我刚开始使用VisualStudio2010。 我想知道如何将窗体的背景颜色设置成C++中的渐变色。 我在网上看到了一些源代码,但那是针对VisualBasic.NET的 感谢您的帮助:)您必须习惯在vb.NET或C#语法中查找.NET示例代码,用C++/CLI编写Winforms代码并不常见。翻译是相当机械的,所以一定要有一本关于C++/CLI编程的书,这样你就可以自己轻松地完成了 总之,代码非常简单,只需重写OnPaintBackground方法并修改构造函数,以便在更改大小时表单将重新绘制
感谢您的帮助:)您必须习惯在vb.NET或C#语法中查找.NET示例代码,用C++/CLI编写Winforms代码并不常见。翻译是相当机械的,所以一定要有一本关于C++/CLI编程的书,这样你就可以自己轻松地完成了 总之,代码非常简单,只需重写OnPaintBackground方法并修改构造函数,以便在更改大小时表单将重新绘制自身:
protected:
virtual void OnPaintBackground(PaintEventArgs^ e) override {
System::Drawing::Drawing2D::LinearGradientBrush brush(Point::Empty, Point(this->ClientSize.Width, this->ClientSize.Height), Color::Yellow, Color::Blue);
e->Graphics->FillRectangle(%brush, 0, 0, this->ClientSize.Width, this->ClientSize.Height);
}
建造商:
Form1(void) {
InitializeComponent();
SetStyle(ControlStyles::ResizeRedraw, true);
}
谢谢你说得对,它看起来确实很像我之前读过的C代码。