【C# .NET】フォーム画面から最小化、最大化、閉じるボタンを消す方法
・最小化ボタン、最大化ボタンの使用可能・不可、表示・非表示の設定
フォーム画面のプロパティからMaximizeBox、MiniSizeBoxプロパティを操作することで使用可能、使用不可、表示、非表示を制御することができます。
・最小化ボタン
使用可能にする場合
MiniSizeBoxプロパティを"True"に設定する。
実行時
使用不可にする場合
MiniSizeBoxプロパティを"False"に設定する。
実行時
・最大化ボタン
使用可能にする場合
MaximizeBoxプロパティを"True"に設定する。
実行時
使用不可にする場合
MaximizeBoxプロパティを"False"に設定する。
実行時
ボタン自体を非表示にする場合には最小化ボタン、最大化ボタンをそれぞれ使用不可にする必要があります。
どちらか一方でも使用可能に設定されている場合はボタンが非表示になることがありません。
2つのプロパティを"False"に設定し、ボタンを非表示にする。
フォーム画面のサイズを変更されたくない場合など、このプロパティを制御することで変更を制御することができます。
実行時
・キャンセルボタンの表示・非表示を設定する場合
キャンセルボタンの表示を制御するにはFormBorderStyleプロパティの設定を操作することで制御をすることができます。
実行時
上記の設定を行うと、最小化、最小化、アイコン、フォーム画面名も非表示になります。
パネル内でフォームの画面を表示させたい時などに有効です。
【C#】パネル内に別のフォームを表示させる
パネル内に別のフォームを表示させる場合は
panel.Controls.Addメソッドを用いて表示させます。
構文
panel.Controls.Add(<インスタンス名かコントロール名>)
使用例
private void Form1_Load(object sender, EventArgs e) { //フォームのインスタンスを作成 Form2 form2 = new Form2(); //フォームのトップレベルをFalseに設定 form2.TopLevel = false; //フォーム2を開く form2.Show(); //インスタンスをAddメソッドの引数に追加 panel1.Controls.Add(form2); }
ソース解説
メソッドの直前で
(1)別フォームまたはコントロールのインスタンスを生成
(2)別フォームのフォームのトップレベルプロパティをfalseに設定
(3)別フォームを開く(Showメソッドを使って表示させる。)
※(2)(3)はフォームの場合
(2)はtrueに値が設定されている場合、エラーが発生してしまう。
(3)はShowDialogメソッドを使用するとエラーが発生してしまう。
Showメソッドを使用しないとパネル内に表示されないため注意。
出力結果
今回はパネル内に別フォームを表示させる内容ですが、基本的にはフォーム内に直接別フォームを表示させることが可能です。
私自身は画面を作成し、このように別フォームをフォーム内に表示させるときにはパネル作り、上記のように使用しています。
このようにすることで仮に画面の設計を変更するときにもパネルの位置をずらすだけで良くなるため、作業効率が上がります。
自己紹介と当ブログについて
自己紹介
初めましてRyojiといいます。
本日から当ブログで記事を書いていきます。
趣味はゲームとプログラミング、イラストを描くことです。
趣味のゲームについてのブログは別のブログで書いていますので、興味があったら見ていってください。
また、Twitterもやってますので、気軽に絡んでくれると嬉しいです。
当ブログは基本的に自分の備忘録としてプログラムなどのメモを書き留めておく場所として使う予定であまり面白いことは描けないと思いますがよろしくお願いします。
当ブログについて
当ブログは日々のプログラミングで書き留めておきたいことなどをまとめていこうと思っております。内容としてはC#、SQL関連が中心になると思います。
最近趣味で作っていたプログラムが完成してひと段落したところだったので、別の言語についてもメモを残すこともあるかもしれません。
取り扱う記事によっては誤った内容なども記載してしまう場合もございますが、できる限り正しい情報を載せていけるように努力をしていきますので、何卒よろしくお願いします。