C#中怎样在一个窗体中改变另一个窗体上的控件的背景颜色?

方法希望简单易懂,最好有例子
2024-12-02 23:47:52
推荐回答(3个)
回答1:

Form1中
添加一个要改变背景颜色的控件 比如Panel1,在属性对话框中设置该控件的Modifiers属性值为public。
再添加一个按钮,在该按钮的单击事件 里边写
Form2 f = new Form2(); f.Owner = this; f.ShowDialog();

---------------------------------------------------------------------------
Form2中
添加一个按钮,在该按钮的单击事件 里边写
(this.Owner as Form1).Panel1.BackColor = Color.Red;

回答2:

可以把第二个界面中要变背景颜色的控件的颜色设置为属性,然后从第一个界面给第二个界面中的这个颜色属性赋值。
例如(以第一个界面点某个按钮弹出第二个页面为例):
第一个界面
private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.Color = Color.Red; frm.ShowDialog(); }
第二个界面
private Color color;
public Color Color { set { this.button2.BackColor = value; } }
注:如果第二个页面上有多个控件的背景都要赋值成这个颜色,可以在set调用方法,把方法单独写出来循环赋值(三个以下建议不要循环)。

回答3:

新建两个窗体Form1和Form2

在Form1中添加一个Button,然后复制下面的代码就行了

private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.BackColor = Color.DeepPink;
f.Show();
}