106

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

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

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

4

7 に答える 7

172

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

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

于 2010-06-11T20:19:48.053 に答える
16

プロパティを次のように設定MaximizeBoxおよびMinimizeBox形成しますFalse

于 2010-06-11T20:18:13.543 に答える
16

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

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

(そして私の答えを完全にするために)プロパティをに設定MaximizeBoxして形成します。MinimizeBoxFalse

于 2010-06-11T20:20:26.630 に答える
8

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

[プロパティ]で、

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

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

于 2014-10-24T12:23:36.727 に答える
6

閉じるときにフォームを最小化する方法はすでに回答されていますが、最小化ボタンと最大化ボタンを削除する方法は回答されていません。
FormBorderStyle:::FixedDialog
MinimizeBox_ false
MaximizeBox_false

于 2017-07-27T06:05:41.457 に答える
3

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

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

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

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
    e.Cancel = true;
    WindowState = FormWindowState.Minimized;
}
于 2013-12-17T10:32:39.857 に答える
0
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}
于 2019-03-28T08:45:19.030 に答える