我试图更改已启用的' Form2中Form1的属性。已启用的属性在Form1中是公共的,因此我可以访问它并从另一个表单更改其值。然而,没有任何反应,我想我必须" refrech" Form1更新更改。我怎么能这样做?
提前致谢。
答案 0 :(得分:0)
您可以使用活动。以子格式(form2,form3等)创建一些事件,然后在创建create form2,3,4时,...订阅事件。
// form1 code
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.SomeChangePropertyEvent += f_SomeChangePropertyEvent;
f.ShowDialog(this);
}
private void f_SomeChangePropertyEvent(bool obj)
{
textBox1.Enabled = obj;
}
//form2 code
public event Action<bool> SomeChangePropertyEvent;
private void button1_Click(object sender, EventArgs e)
{
var h = SomeChangePropertyEvent;
if (h != null)
h(false); // I'll set false, you can't something else :)
}