Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在加载时动态设置窗体的背景图像?_C#_Winforms - Fatal编程技术网

C# 如何在加载时动态设置窗体的背景图像?

C# 如何在加载时动态设置窗体的背景图像?,c#,winforms,C#,Winforms,只需在C#中创建一个新的windows窗体应用程序,然后尝试以下代码—它无法按预期工作: private void Form1_Load(object sender, EventArgs e) { Bitmap rBitmap = new Bitmap(600, 500); Graphics graphics = Graphics.FromImage(rBitmap); LinearGradientBrush brush = new LinearGradientBrush

只需在C#中创建一个新的windows窗体应用程序,然后尝试以下代码—它无法按预期工作:

private void Form1_Load(object sender, EventArgs e)
{
    Bitmap rBitmap = new Bitmap(600, 500);
    Graphics graphics = Graphics.FromImage(rBitmap);
    LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, 600, 500), Color.DeepSkyBlue, Color.Green, LinearGradientMode.Vertical);
    brush.SetSigmaBellShape(0.0f, 1f);
    graphics.FillRectangle(brush, new Rectangle(0, 0, 600, 500));
    Form1.ActiveForm.BackgroundImage = rBitmap;
}

表单以默认值加载。如果向表单中添加按钮并添加相同的代码,则可以根据需要设置表单的背景图像。那么,如何在Form1\u加载事件中动态完成此操作,以便在程序打开时显示图像?

加载事件期间,表单不处于活动状态:

尝试:

并在完成以下操作后处置您的物品:

Bitmap rBitmap = new Bitmap(600, 500);
using (Graphics g = Graphics.FromImage(rBitmap)) {
  using (var br = new LinearGradientBrush(new Rectangle(0, 0, 600, 500),
         Color.DeepSkyBlue, Color.Green, LinearGradientMode.Vertical)) {
    br.SetSigmaBellShape(0.0f, 1f);
    g.FillRectangle(br, new Rectangle(0, 0, 600, 500));
  }
}
this.BackgroundImage = rBitmap;

this.BackgroundImage=rBitmap?抱歉,我在您写评论时复制/粘贴了有用提示内容中的文本。英雄联盟
Bitmap rBitmap = new Bitmap(600, 500);
using (Graphics g = Graphics.FromImage(rBitmap)) {
  using (var br = new LinearGradientBrush(new Rectangle(0, 0, 600, 500),
         Color.DeepSkyBlue, Color.Green, LinearGradientMode.Vertical)) {
    br.SetSigmaBellShape(0.0f, 1f);
    g.FillRectangle(br, new Rectangle(0, 0, 600, 500));
  }
}
this.BackgroundImage = rBitmap;