2011-06-03 103 views
2

我想单击按钮时更改窗体的背景图像。我被困在这个错误。它说:通过按钮单击更改窗体背景图像

一个对象引用需要 非静态字段,方法或 属性 'System.Windows.Forms.Control.BackgroundImage.get'

private void pictureBox1_MouseHover(object sender, EventArgs e) 
    { 
     pictureBox1.Location = new Point(25, 9); 
    } 

    private void pictureBox1_MouseLeave(object sender, EventArgs e) 
    { 
     pictureBox1.Location = new Point(18, 9); 
    } 


    private void pictureBox1_MouseClick(object sender, MouseEventArgs e) 
    { 

     Form1.BackgroundImage = 
    } 

在代码的最后部分,您可以看到我正在尝试更改表单的背景图像。但它不允许我,我不知道如何正确地做到这一点。

回答

3

使用this而不是Form1

this.BackgroundImage = ... 
+0

谢谢,解决了它.. – 2011-06-05 03:19:16

+0

不客气。 – 2011-06-05 07:11:19

2

Form1是一个Type,而不是一个对象的Instance,您正在寻找this

+0

为什么*社会维基*? – 2011-06-03 06:56:44

+1

@Oscar Mederos:因为他自己提供了答案,他只是不读错误信息。 (我怪这个例子的命名不好) – Bobby 2011-06-03 07:00:14