C# winform 窗体锁定和解锁,如何解决?

解决方案 »

  1.   

    调用API
    [DllImport("user32", CharSet = CharSet.Auto)]
    public static extern int EnableWindow(IntPtr   hwnd,bool bEnable );锁定:EnableWindow(this.Handle,false);
    解锁:EnableWindow(this.Handle,true);
      

  2.   

    this.Enabled = false; 窗体上所有控件都不能用,且窗体也不能移动。
    如果只是想所有控件不能用,那把所用控件放在一个groupBox控件上
    然后groupBox1.Enabled=false; 则groupBox控件上的所有控件都不能用了。
    解锁的话Enabled=true;就行了。
    基本上每个控件都有Enabled属性,一个一个设也可以。
      

  3.   

    5L说的很对。。 我就是这么弄的 放一个groupbox里 然后一个按钮控制他Enabled=true
    如果你做整个窗体的话 就要调api的函数 就麻烦些了。 用hook 热键。
    因为你锁定窗体后 没办法操作任何按钮什么的了就 按钮事件if(btn.text=="锁定")

       groupBox1.Enabled=false;
       btn.text="解锁"

    else

       groupBox1.Enabled=true;
       btn.text="锁定"}
      

  4.   

    调用API
    [DllImport("user32", CharSet = CharSet.Auto)]
    public static extern int EnableWindow(IntPtr hwnd,bool bEnable );锁定:EnableWindow(this.Handle,false);
    解锁:EnableWindow(this.Handle,true);
    用这个吧