web-dev-qa-db-ja.com

WinFormで最小化と最大化を無効にしますか?

WinFormsの右上隅には、フォームを最小化、最大化、および閉じるこれらの3つのボックスがあります。私ができるようにしたいのは、最小化と最大化を削除し、閉じたままにすることです。

また、フォームを閉じるのではなく、フォームを最小化するようにします。

これをどのように行うことができますか?

88
sooprise

FormにはMinimizeBoxMaximizeBoxという2つのプロパティがあり、両方をfalseに設定します。

フォームのクローズを停止するには、FormClosingイベントを処理し、そこにe.Cancel = true;を設定し、その後、WindowState = FormWindowState.Minimized;を設定してフォームを最小化します。

147
Hans Olsson

ハンドラーをFormClosingイベントにバインドしてから、e.Cancel = trueを設定し、フォームthis.WindowState = FormWindowState.Minimizedを設定します。

フォームを実際に閉じたい場合は、クラス全体のブール値_closeを作成し、ハンドラーでe.Cancel!_closeに設定して、ユーザーがXウィンドウ上では、閉じませんが、close = true; this.Close();を使用して閉じることはできます(単に殺すことなく)

(そしてちょうど私の答えを完成させるために)MaximizeBoxおよびMinimizeBoxフォームプロパティをFalseに設定します。

15
dlras2

MaximizeBoxおよびMinimizeBoxフォームのプロパティをFalseに設定します

14
volody

非表示にするフォームを右クリックし、[コントロール]-> [プロパティ]を選択します。

プロパティで設定

  • コントロールボックス-> False
  • ボックスを最小化-> False
  • ボックスを最大化-> False

これはデザイナーで行います。

4

フォームコンストラクター内で最大化を無効にできます。

 public Form1(){
     InitializeComponent();
     MaximizeBox = false;
 }

閉じるときに最小化する。

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
    e.Cancel = true;
    WindowState = FormWindowState.Minimized;
}
2
Sameera R.

終了時にフォームを最小化する方法がすでに回答されていましたが、remove最小化および最大化ボタンはそうではありませんでした。
FormBorderStyleFixedDialog
MinimizeBoxfalse
MaximizeBoxfalse

1
Brackets
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}
0
Mauricio Kenny