form1中button事件调用form2,并将form1的enable属性设为false,form2中的button将form1中的enable再设为true,可点击form2中的button什么反映都没有,form2中的button代码:
Form1 ff=new Form1();
ff.enable=true;
请问应该怎么写?线等

解决方案 »

  1.   

    form1中
    将button1的modifiers设置为public
    form2 frm2 = new form2();
    frm2.owner = this;
    然后form2中
    form1 frm1 = this.owner as form1;
    if (frm1 == null) return;
    frm1.button1.enable = true;这样你最开始显示的frm1就传到了form2中,然后就可以操作了
    ====
    Form1 ff=new Form1();
    ff.enable=true;
    这样的ff是一个form1类的新实例(没有ff.show().你根本没把它显示出来),不是你开始时显示的form
      

  2.   

    樓上正解,new 就是生成了一個新的form1,並不是原來的那個了,所以用owner來保存form1就可以解決這個問題。或者用delegate 來做也可以,參見http://blog.csdn.net/tjvictor/archive/2006/06/23/824617.aspx中第四個方法