MENU

【C#】ペントミノ2Dパズルを解く(7)フォームのデザイン

この連載も7回目になりました。いままではプログラムの部品であるクラスををつくってきました。フォームについては新規プロジェクトを作ったあと、そのままになっていると思います。今回はデフォルトで作られた Form1 にコントロールを登録していきます。

プロパティ
Name Form1
Size 390, 580
StartPosition CenterScreen
Text ペントミノソルバー2D

フォームのサイズはキーボードで入力することもできますが、マウスでドラッグして決めることもできます。StartPosition は好みです。こうすると常に画面の中央に初期表示されます。Text はフォームを表示したときのウィンドウバーのタイトルです。


(1) Label:Label1

表題です。濃い青の少し大きめのフォントに設定します。

プロパティ
Name Label1
Font Yu Gothic UI, 14.25pt
ForeColor Navy
Text ペントミノソルバー2D

(2) GroupBox:GroupBox1

ラジオボタンを配置するためのグループボックスです。Text プロパティの文字列は削除して長方形の枠のみの表示にします。

プロパティ
Name GroupBox1
Text (削除)

(3)~(6) RadioButton:rbt_10x6, rbt_12x5, ・・・

ラジオボタン。パズルの盤面サイズの "10x6", "12x5", "15x4", "20x3" をそれぞれサフィックスにして4個作り、GroupBox1 の中に配置します。

プロパティ (3) (4) (5) (6)
Name rbt_10x6 rbt_12x5 rbt_15x4 rbt_20x3
Text 10 X 6 12 X 5 15 X 4 20 X 3

(7) CheckBox:cbx_都度確認あり

チェックボックス。Checked プロパティはデフォルト(False)のままです。

プロパティ
Name cbx_都度確認あり
Text 都度確認あり

(8) Button:探索開始ボタン

このボタンをクリックすると解の探索を開始します。

プロパティ
Name 探索開始ボタン
Text 探索開始

(9) ListView:LV1

リストビュー。プロパティや行列の設定などはコーディングしますので、ここではデフォルトのまま大きさを設定しておきます。ただし Anchor については "Top", "Bottom", "Left", "Right" の4方向すべてを指定してください。プログラム実行時にフォームの大きさを変更したとき、リストビューも合わせてサイズが変わるようにするためです。

プロパティ
Name LV1
Anchor Top, Bottom, Left, Right

(10) ProgressBar:ProgressBar1

プログレスバーもフォームサイズの変更に合わせて変化するよう Anchor を "Bottom", "Left", "Right" の3方向に設定します。それと Style プロパティは "Continuous" にします。

プロパティ
Name ProgressBar1
Anchor Bottom, Left, Right
Style Continuous

(11) Button:キャンセルボタン

探索を中止したいときに使用するボタンです。

プロパティ
Name キャンセルボタン
Text キャンセル

(12) StatusStrip:StatusStrip1

フォームの下端の飾りです。意味はありません。

プロパティ
Name StatusStrip1


以上がコントロールの概要です。フォームへの配置が終わったらフォーム全体を選択状態にして、メニュー[表示]→[タブオーダー]で各コントロールのタブ順(通常は左上から右下の順)を決めてください。