WinForm で最小化と最大化を無効にしますか?
質問
WinForms の右上隅には、フォームを最小化、最大化、閉じるための 3 つのボックスがあります。私ができるようにしたいのは、閉じたままにして、最小化と最大化を削除することです。
また、フォームを閉じるのではなく最小化して閉じるようにする方法もあります。
これはどうすればできるのでしょうか?
解決
Form
はMinimizeBox
とMaximizeBox
と呼ばれる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
に(そして、ちょうど私の答えは完全なものにする)、設定されたMinimizeBox
とFalse
フォームのプロパティます。
MaximizeBox
と設定MinimizeBox
とFalse
フォームプロパティ
非表示にするフォームを右クリックし、「コントロール」→「プロパティ」を選択します。
プロパティで設定します
- コントロールボックス -> False
- ボックスを最小化 -> False
- ボックスの最大化 -> False
これはデザイナーで行います。
することができますフォームのコンストラクタの内部単に無効に最大化ます。
public Form1(){
InitializeComponent();
MaximizeBox = false;
}
閉じるときに最小限に抑えること。
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
e.Cancel = true;
WindowState = FormWindowState.Minimized;
}
どのように終値が既に回答されたときに、フォームが最小化させることではなく、どのように削除最小化と最大化ボタンがありませんでした。
FormBorderStyle
:FixedDialog
MinimizeBox
:false
MaximizeBox
:false
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}