(...) 在当前上下文中不存在 - 渐变和其他画笔
(...) doesn't exist in the current context - Gradient and others brushes
我看到了一种制作表单背景颜色渐变的方法。
这是由 GradientBrush 完成的,但是当我尝试这样做时,它说它不存在。
我是这样写的:
GradientBrush something = New GradientBrush();
在输出 window 中,我看到 "doesn't exist in the current context" 错误。
您可能希望将 System.Windows.Media
命名空间添加到您的应用程序
只需添加。
using System.Windows.Media;
然后编译器会重新识别这个class。
祝你好运。
在 winforms Form
中你可以这样做:
using System.Drawing.Drawing2D;
...
...
private void Form1_Paint(object sender, PaintEventArgs e)
{
using (LinearGradientBrush br = new
LinearGradientBrush(Form1.ClientRectangle, Color.Wheat, Color.DimGray, 0f))
e.Graphics.FillRectangle(br, Form1.ClientRectangle);
}
要消除闪烁,请将表格设置为 DoubleBuffered = true;
要获得更多颜色,请使用 LinearGradientBrush
的多色重载!有关示例,请参阅 !
如果背景是固定的,您可以考虑创建一个带有渐变的位图。如果用户不调整表单大小就完美了..:[=17=]
Bitmap form1Back = new Bitmap(form1.ClientSize.Width, form1.ClientSize.Height);
using (Graphics G = Graphics.FromImage(form1Back))
using (LinearGradientBrush br = new
LinearGradientBrush( form2.ClientRectangle, Color.Wheat, Color.DimGray, 0f))
G.FillRectangle(br, form2.ClientRectangle);
form1.BackgroundImage = form1Back;
我看到了一种制作表单背景颜色渐变的方法。
这是由 GradientBrush 完成的,但是当我尝试这样做时,它说它不存在。
我是这样写的:
GradientBrush something = New GradientBrush();
在输出 window 中,我看到 "doesn't exist in the current context" 错误。
您可能希望将 System.Windows.Media
命名空间添加到您的应用程序
只需添加。
using System.Windows.Media;
然后编译器会重新识别这个class。
祝你好运。
在 winforms Form
中你可以这样做:
using System.Drawing.Drawing2D;
...
...
private void Form1_Paint(object sender, PaintEventArgs e)
{
using (LinearGradientBrush br = new
LinearGradientBrush(Form1.ClientRectangle, Color.Wheat, Color.DimGray, 0f))
e.Graphics.FillRectangle(br, Form1.ClientRectangle);
}
要消除闪烁,请将表格设置为 DoubleBuffered = true;
要获得更多颜色,请使用 LinearGradientBrush
的多色重载!有关示例,请参阅
如果背景是固定的,您可以考虑创建一个带有渐变的位图。如果用户不调整表单大小就完美了..:[=17=]
Bitmap form1Back = new Bitmap(form1.ClientSize.Width, form1.ClientSize.Height);
using (Graphics G = Graphics.FromImage(form1Back))
using (LinearGradientBrush br = new
LinearGradientBrush( form2.ClientRectangle, Color.Wheat, Color.DimGray, 0f))
G.FillRectangle(br, form2.ClientRectangle);
form1.BackgroundImage = form1Back;