Winforms 如何在Visual C+中为窗体设置渐变背景色+;?

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方法并修改构造函数,以便在更改大小时表单将重新绘制

我刚开始使用VisualStudio2010。 我想知道如何将窗体的背景颜色设置成C++中的渐变色。 我在网上看到了一些源代码,但那是针对VisualBasic.NET的


感谢您的帮助:)

您必须习惯在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代码。