カテゴリー
Software Tech

[C#備忘録]定型化のためのGroupBox利用とTextBox配置 | AmpiTa Project

 AmpiTa(多用途安否確認システム)に新しいフォームを増設することになり、手順を忘れていることが多いので、次回のために備忘録を作成しています。




フォームデザイン

 今回のフォームは、サイズ1,600×900の横長で下図のようにデザインしました。


 主な物として、データ入力を行うテキストボックスをバラバラとは貼らずに、グループボックスにまとめることとしています。

 単体で存在するテキストボックスは、結果の表示用です。

 1つだけデータグリッドビューを置いています。これは結果の記録用です。


 上記画面以外にも結果を表示したいため、タブコントロール(TabControl)をフォーム全体に隙間なく行き渡るように配置しました。


 このタブコントロール(TabControl)の配置(Location)は『0, 0』なので左端で上端、サイズ(Size)は『1580, 859』です。フォームのサイズが1600×900なのでほとど余白なしのデザインです。




GroupBox

 グループボックスとは、テキストボックスなど配置したパーツをまとめて管理することができる土台のようなものです。

 タブオーダーをグループボックス内で管理できます。

 1つのフォームに複数グループのラジオボタン(RadioButton)を配置する際には必須のツールと言えますので、利用されている方々は多いと思います。

 今回は画面中にたくさんのグループボックスを配置しています。下図の赤枠内にあるものが1単位のグループボックスです。両隣も上下も斜めにあるものも、すべて別々のグループボックスです。




テキストボックス配置

 今回はグループボックス上に4列×5行のマトリクスを想像しながら配置を考えました。

 実際の配置としては左上のテキストボックス(TextBox)が『txb_xxx_11』、その右隣りが『txb_xxx_12』、さらに右が『txb_xxx_13』、右端が『txb_xxx_14』といった名称(Name)を付けました。

 1つ下がって『txb_xxx_11』の下は『txb_xxx_21』、その下は『txb_xxx_31』、その下は『txb_xxx_41』、最下段は『txb_xxx_51』という名称(Name)を付けました。

 ラベル(Label)も同じです。標題として使っているラベルは『lbl_xxx_11』という感じで、単位など付記するものは『lbl_xxx_sub_11』と補助であることを示しました。


 ラベルとテキストボックスを並べた、標準となるグループボックスを制作したのち、タブオーダーを左上から右下へ流れていくように付けました。

 タブオーダーは『表示』の中にあります。


 標準となるグループボックスはコピーして、フォーム内の任意の場所に貼って行きます。

 下図で『(未使用)』というラベルが付いているものは、使いません。ただし、抹消はしません。

 コントロールの『Visible』を『False』にして、起動時には見えないようにしておきます。




コンボボックスを上乗せ

 テキストボックスではなく、コンボボックス(ComboBox)で選択させたい場合、テキストボックスの上に載せてしまいます。

 テキストボックスは『Visible』を『False』にして表示もタブストップもできないようにしておきます。

 テキストボックスと同じ座標(Location)にコンボボックスを配置します。

 下図では、1列目から4列目までテキストボックスを非表示にしてコンボボックスを配置しています。




おわりに

 今回は開発の容易性を高めるための策を打ってみました。




関連記事