2015-09-23 49 views
1

只是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_Load事件中動態實現這一功能,以便在程序打開時顯示圖像?

搜索:

+1

'this.BackgroundImage = rBitmap; '? – Eser

回答

0

窗體的Load事件過程中不活躍

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; 
+0

@peter,謝謝你的工作。 – Jake

+0

@Jake彼得是誰? – LarsTech

+0

對不起,我在撰寫評論時從有用的提示內容中複製/粘貼文本。大聲笑。 – Jake