質問

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

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

これはどうすればできるのでしょうか?

役に立ちましたか?

解決

FormMinimizeBoxMaximizeBoxと呼ばれる2つのプロパティがあり、falseにそれらの両方を設定します。

そこにフォームを閉じる、FormClosingイベントを処理し、セットe.Cancel = true;を停止し、その後、フォームを最小化するように設定WindowState = FormWindowState.Minimized;、ます。

他のヒント

FormClosingイベントのハンドラバインドし、その後組e.Cancel = true、フォームthis.WindowState = FormWindowState.Minimizedを設定します。

あなたが実際に近い形にしたい場合は、

は、あなたのハンドラ、_closeにセットe.Cancelで、クラス全体のブール!_closeを作成し、ユーザがウィンドウ上Xをクリックするたびに、それが閉じないということはなく、あなたはまだclose = true; this.Close();

と(それを殺すことなく)、それを閉じることができます MaximizeBox

(そして、ちょうど私の答えは完全なものにする)、設定されたMinimizeBoxFalseフォームのプロパティます。

MaximizeBox

設定MinimizeBoxFalseフォームプロパティ

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

プロパティで設定します

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

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

することができますフォームのコンストラクタの内部単に無効に最大化ます。

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

閉じるときに最小限に抑えること。

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

どのように終値が既に回答されたときに、フォームが最小化させることではなく、どのように削除最小化と最大化ボタンがありませんでした。
FormBorderStyleFixedDialog
MinimizeBoxfalse
MaximizeBoxfalse

public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top