このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【6日でできるVisual Basic2022入門】③画面の設計②(画面の作成)

3.画面の設計②(画面の作成)

 今回は「③ 画面の設計②(画面の作成)」です。前章で用意したフォーム(ひな形)の上に、必要なコントロールを貼り付けて、名前や表示・配置を整えます。

3.1. 必要なコントロール一覧(貼り付け前に全体像を把握)

役割種類(Name)Text(表示)主なプロパティ(例)
タイトルFormMainFormBMI チェッカーStartPosition=CenterScreen, FormBorderStyle=FixedDialog, MaximizeBox=False
身長ラベルLabelHeightLabel身長(cm)AutoSize=True
身長入力TextBoxHeightTextBox(空)TabIndex=0
体重ラベルLabelWeightLabel体重(kg)AutoSize=True
体重入力TextBoxWeightTextBox(空)TabIndex=1
計算ボタンButtonCalcButtonBMI を計算TabIndex=2
BMI ラベルLabelBmiLabelBMI:AutoSize=True
BMI 表示TextBoxBmiTextBox(空)ReadOnly=True, TabStop=False
判定ラベル(見出し)LabelJudgeLabel判定:AutoSize=True
判定表示LabelResultLabel判定結果がここに表示されますAutoSize=True, ForeColor=DarkBlue
ガイド文LabelGuideLabel身長(cm) と体重(kg)を入力してくださいAutoSize=True, ForeColor=DimGray

3.2. 配置手順(ドラッグ&ドロップ → 名前 → Text → 位置合わせ)

ワイヤーフレーム(完成イメージ)

  1. ツールボックスから Label をフォーム左上に貼り付け、(Name)=HeightLabel、Text=「身長(cm)」。
  2. 右側に TextBox を貼り付け、(Name)=HeightTextBox。
  3. 同様に、WeightLabel/WeightTextBox を Height の下に縦並びで配置。
  4. 下段中央に Button を貼り付け、(Name)=CalcButton、Text=「BMI を計算」。必要に応じて幅を広げる。
  5. ボタンの下に Label(BmiLabel、Text=「BMI:」)と TextBox(BmiTextBox)を横並びで配置。BmiTextBox は ReadOnly=True。
  6. 下側に Label(JudgeLabel、Text=「判定:」)と Label(ResultLabel、初期文言)を横並びで配置。
  7. フッター位置にガイド Label(GuideLabel)を配置。

3.3. 配置・整列のコツ(スナップライン/等間隔/タブ順)

目的操作観点
左右位置を揃えるラベル列・テキストボックス列をドラッグし、赤いスナップラインで左端/下端を合わせる。見出し列と入力列の縦並びを統一
余白の統一コントロール間の上下間隔をおおむね 8~12px 程度に統一可読性向上
タブ順の設定メニュー[表示]→[タブ オーダー]で 0→1→2…の順にクリックHeightTextBox=0、WeightTextBox=1、CalcButton=2
読み取り専用欄BmiTextBox.ReadOnly=True、TabStop=Falseフォーカスが移動しないようにする。
Enter キー実行フォームの AcceptButton=CalcButtonキーボード操作性向上

3.4. プロパティ設定(推奨値の具体例)

コントロールプロパティ目的
MainFormAcceptButtonCalcButtonEnterで計算
MainFormFontYu Gothic UI, 10pt日本語表示を見やすく
BmiTextBoxReadOnlyTrue直接編集を防ぐ
BmiTextBoxTextAlignRight数値を右寄せ
BmiTextBoxTabStopFalseフォーカスが移動しないようにする。
ResultLabelForeColorDarkBlue視認性アップ
CalcButtonAutoSizeFalse(幅を手動調整)ラベルの長さに合わせる。
GuideLabelForeColorDimGray補助説明のトーンダウン

3.5 ちょい足しコード(フォームロード時に最終調整:任意)

デザイナーで設定できる内容が中心ですが、コードでまとめて指定すると再現性が上がります。
MainFormに次を追加します。

Option Strict On
Option Infer On

Public Class MainForm

    Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.AcceptButton = CalcButton
        BmiTextBox.ReadOnly = True
        BmiTextBox.TabStop = False
        BmiTextBox.TextAlign = HorizontalAlignment.Right
        ResultLabel.Text = "判定結果がここに表示されます"
        GuideLabel.Text = "身長(cm) と体重(kg)を入力してください"
    End Sub

End Class

3.6. この章で出てくる Visual Basic 2022 の構文・概念(要点解説)

構文/概念役割ミニ例ポイント
Handles MyBase.Loadフォーム表示直前の初期化イベントPrivate Sub MainForm_Load … Handles MyBase.Load初期プロパティ設定に最適
フォームのプロパティ設定画面全体の振る舞いを指定Me.AcceptButton = CalcButtonEnter キーでの実行
TextBox の振る舞い入力可否や配置調整BmiTextBox.ReadOnly = True読み取り専用欄の安全化
ラベルの初期文言ガイド・ヘルプの提示ResultLabel.Text = "..."日本語で明確に伝える

3.7. 実行して見た目を確認

  1. 「▶BmiChecker」でフォームを表示。
  2. Tab キーで「身長→体重→ボタン」の順に移動するか確認。
  3. BmiTextBox が編集できない(ReadOnly)ことを確認。

3.8. つまずき対策(チェックリスト)

症状確認ポイント
ボタンに Enter が効かないMainForm.AcceptButton に CalcButton が設定されているか
タブ順がおかしい[表示]→[タブ オーダー]で 0,1,2…を正しくクリックしたか
文字が見切れるLabel.AutoSize=True、フォント・サイズを見直す
結果欄に入力できてしまうBmiTextBox.ReadOnly=True/TabStop=False を設定したか
配置がずれるスナップラインで位置合わせ、FormBorderStyle=FixedDialog を再確認

次章への接続

 ここまでで、BMI 入力・実行・結果表示の UI が形になりました。次の「④ 入力データの取り出し方法」では、TextBox の Text プロパティから値を取得して変数に格納する手順、データ型(Double など)と型変換の基本(TryParse/ToString)を、実コード付きで解説します。さらに「⑤ ボタンをクリックしたときの処理」でイベントハンドラーに本処理(BMI 計算)を組み込みます。