1

特定の条件が真の場合、this.Enabled = falseonを介して無効に設定しているフォームがあります。Form_Load

ただし、これにより、コントロールボックス(最大化ボックス、最小化ボックス、および閉じるボックス)も無効になります。

したがって、フォームが無効になっている場合、閉じるボックスも無効になっているため、フォームを閉じる方法がありません。

フォームを無効にすることはできますが、閉じたボックスを有効のままにして、無効にしたフォームを閉じることができるようにすることはできますか?

This forms' OnClose event also exits the application.

4

1 に答える 1

0

条件が true の場合に呼び出される小さなメソッドを構築し、このフォームで使用可能なすべてのコントロール/コンテナーを無効にすることができます。

擬似コード:

    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 に答える