1

我有一个表单,如果某个条件为真,我将通过this.Enabled = falseon设置为禁用。Form_Load

但是,这也会禁用控制框(最大化框、最小化框和关闭框)。

因此,当表单被禁用时,我无法关闭它,因为关闭框也被禁用。

有没有我可以禁用表单但启用关闭框,以便我可以关闭禁用的表单?

此表单的OnClose事件也会退出应用程序。

4

1 回答 1

0

您可以构建一个在条件为真时调用的小方法,并禁用此表单中可用的所有控件/容器。

伪代码:

    private void  Form1_Load() 
    {
       if(condition)
       { 
          DisableControls();
       }
    }

   private void DisableControls()
   {
        foreach(Control c in this.Controls)
        { 
            // your disable code here.
        }
    }

编辑
此方法对控制框无效。

于 2012-08-31T08:44:44.697 回答