改变另一种形式的控制背面颜色

时间:2017-11-27 11:08:20

标签: c# winforms

我试图了解如何以不同的形式更改控件的属性。

我在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;


                }

什么都没发生,我哪里错了?

1 个答案:

答案 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;