我试图了解如何以不同的形式更改控件的属性。
我在form1中有一个picturebox我想改变背面颜色,所以这里是我正在使用的代码
Form1中
public PictureBox ThePicture
{
get { return this.pictureBox1; }
}
然后在form2中我有
窗体2
if (ScreenShot.saveToClipboard)
{
Image img = Clipboard.GetImage();
ControlPanel form1 = new ControlPanel();
form1.ThePicture.BackColor = Color.Red;
}
什么都没发生,我哪里错了?
答案 0 :(得分:1)
在初始化Form2时传递Form1的引用。然后使用此引用进行更改。
Form2应具有Form1属性
public Form1 Form1Ref {get;set;}
然后:
// ... in Form1 ...
Form2 f2 = new Form2();
f2.Form1Ref = this; // reference to Form1
f2.Show();
最后,在Form2中:
// ... in Form2 ...
this.Form1Ref.ThePicture.BackColor = Color.Red;