我在画面A点击一个按钮 打开另一个画面B 此时A的 this.Enabled = false;
B的进程打开后,p.WaitForExit(); 关闭执行下面的操作
this.Enabled = true;但是,情况出现了,B画面打开后 A的画面的东西是不能操作,但是B一关闭,刚才B打开时对A画面的控件的操作其实是保留着的 B关闭,操作也同时进行了  怎么做让A的画面的控件是真实的不能进行任何操作呢

解决方案 »

  1.   

    这么乱,我就看懂最后一句了,想让A不允许编辑,好说,把组件都放到一个panel上,然后置panel的enable=false这所有组件都不能编辑
      

  2.   

    如果说你这里指的画面是窗体的话,那么A窗体打开B窗体,A上的所有控件不可用,直接B操作结束或者关闭那么我建议你 B窗体 为模态窗口Form2 f2 = new Form2();
                    f2.ShowDialog();
      

  3.   

    去掉p.WaitForExit();
    加上p.Exited = (obj, e) => this.Enabled = true;
      

  4.   


    B窗口打开的时候 A窗口的东西都是不可用的,但是B窗口关闭 A的都是可用,如果是简单的设置enable的话,其实这个是存在操作保存的。  在B打开的时候,A的东西看似不可操作,但一旦A里面的东西enable变为TRUE,那么刚才的操作全部会被执行
      

  5.   


    因为一些操作的原因,这里采用的是进程访问,而不是模态窗口,你可以把B窗口理解为访问1个EXE文件 而非自己写的窗口
      

  6.   


    这句和上面写的没有区别吧 都是在进程关闭后,让本窗口Enabled = true。 我想导致这个状况的是Enabled本身属性的问题