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

【6日でできるVisual Basic2022入門】①簡単なアプリケーションの完成イメージ

①簡単なアプリケーションの完成イメージ

 ここでは、Visual Studio Community 2022(以下 VS Community 2022)と Visual Basic 2022 を用いて、「BMI を算出してメッセージで結果を示す」最小構成の Windows フォームアプリを完成イメージから逆算して設計・実装します。完成イメージを具体化することで、後続の画面設計・入力処理・イベント処理・分岐・サブルーチン化へと自然に接続できるようにします。

1.完成イメージと作成フロー

 BMI(Body Mass Index)= 体重(kg) ÷ [身長(m)²] を計算し、数値と判定を画面に表示します。ボタンを押すだけで動作する、単純・明快・安全(TryParse による入力検証)を目指します。

1.1. 作成フロー(全体像)

手順内容
紙やツールで完成イメージ(画面と機能)を描く。
VS Community 2022 で Windows フォームのひな形を作る。
フォームにコントロールを配置し、名前と表示を設定する。
入力データを取り出す。数値に安全に変換して変数へ格納する。
クリック時の処理(イベント)をコード化する。
分岐条件を使用する。入力検証や丸め、メッセージなどを調整する。
サブルーティンを使う。処理を、Sub(サブルーチン) と Function(値を返す手続き) に分割し、読みやすさ・再利用性・テスト容易性を高める。

1.2. 画面に必要な要素

役割推奨コントロール(Name)Text(表示文字)備考
アプリのタイトルFormForm1BMI チェッカーフォームの Text プロパティ
身長入力(cm)TextBoxHeightTextBox(空)数値のみを想定
体重入力(kg)TextBoxWeightTextBox(空)数値のみを想定
計算実行ButtonCalcButtonBMI を計算クリックで処理開始
BMI 数値表示TextBoxBmiTextBox(読み取り専用化推奨)小数第 1~2 位表示
判定表示LabelResultLabel判定結果がここに表示されます日本語判定メッセージ
ガイド文LabelGuideLabel身長(cm) と体重(kg)を入力してください入力説明

1.3. 完成画面のワイヤーフレーム(例)

主要プロパティの例

コントロールプロパティ値の例目的
BmiTextBoxReadOnlyTrue入力防止
Form1StartPositionCenterScreen画面中央に表示
ResultLabelAutoSizeTrueメッセージの長さに合わせる。
CalcButtonTabIndex2入力→ボタンの操作順

1.4. 表示するメッセージ(例)

状態メッセージ例(画面上または MessageBox)
入力不足「身長と体重を入力してください。」
数値変換失敗「数値として認識できません。半角数字で入力してください。」
正常計算判定ラベルに「標準です」「やや高めです」等を表示

1.5. Visual Basic 2022 サンプルプログラム(Form1.vb)

 以下は完成イメージ確認用の最小構成です。以降の章で分岐やサブルーチン分割を発展させます。

Option Strict On
Option Infer On

Public Class Form1

    Private Sub CalcButton_Click(sender As Object, e As EventArgs) Handles CalcButton.Click
        ' 入力を取得(cm, kg)
        Dim hCm As Double
        Dim wKg As Double

        If Not Double.TryParse(HeightTextBox.Text, hCm) _
           OrElse Not Double.TryParse(WeightTextBox.Text, wKg) Then
            MessageBox.Show("数値として認識できません。半角の数字で入力してください。", "入力エラー")
            Exit Sub
        End If

        If hCm <= 0 OrElse wKg <= 0 Then
            MessageBox.Show("身長と体重は 0 より大きい値を入力してください。", "入力エラー")
            Exit Sub
        End If

        ' BMI 計算:体重(kg) ÷ (身長(m)^2)
        Dim hMeter = hCm / 100.0
        Dim bmi = wKg / (hMeter * hMeter)

        ' 小数第1位で丸めて表示(例:23.4)
        Dim bmiRounded = Math.Round(bmi, 1, MidpointRounding.AwayFromZero)
        BmiTextBox.Text = bmiRounded.ToString("0.0")

        ' 判定メッセージ(例)
        ResultLabel.Text = GetBmiCategory(bmiRounded)
    End Sub

    ' 判定ロジック(閾値は例。必要に応じて基準を差し替え可能)
    Private Function GetBmiCategory(bmi As Double) As String
        If bmi < 18.5 Then
            Return "やせ気味です。体調管理に注意しましょう。"
        ElseIf bmi < 25.0 Then
            Return "標準です。現在の生活リズムを維持しましょう。"
        ElseIf bmi < 30.0 Then
            Return "やや高めです。食事と運動のバランスを意識しましょう。"
        Else
            Return "高めです。専門家への相談を検討してください。"
        End If
    End Function

End Class

実行の流れ(イベント中心)

フェーズ起点主要処理結果
入力ユーザーHeightTextBox/WeightTextBox に数値入力値が Text に格納
実行CalcButton.ClickTryParse で検証 → BMI 計算 → 丸めBmiTextBox に数値表示
判定GetBmiCategoryBMI 値を複数条件で判定ResultLabel に日本語メッセージ

1.6. 主要命令・構文の要点(Visual Basic 2022)

構文/命令役割サンプル解説
Dim 変数 As 型変数宣言Dim hCm As Double型安全に値を保持
Handlesイベント結合Handles CalcButton.Click指定イベント発生時にメソッドが呼ばれる。
Double.TryParse文字列→数値変換(安全)Double.TryParse(txt, v)失敗時に False を返すため例外が出ない。
Math.Round丸めMath.Round(bmi, 1)表示桁を整える。
If ... ElseIf ... End If分岐判定処理条件ごとにメッセージを切替
Function ... Return値を返す手続きGetBmiCategory処理の再利用・テスト容易化
MessageBox.Showダイアログ表示エラー通知入力不備の早期発見

1.7. 実行イメージ(入出力の例)

入力(身長/体重)計算 BMI(表示)判定(ResultLabel の例)
170 / 6522.5「標準です。現在の生活リズムを維持しましょう。」
160 / 4517.6「やせ気味です。体調管理に注意しましょう。」
172 / 8528.7「やや高めです。食事と運動のバランスを意識しましょう。」

まとめ

  • 完成イメージを具体的な UI 構成とメッセージまで落とし込むと、実装の指針が明確になります。
  • TryParse による入力検証、イベント(Handles)中心の設計、丸めと判定の関数化で、見通しと安全性が向上します。
  • 次章以降では、本イメージを土台に「②フォームの作成」「③画面の作成」「④入力データの取り出し」「⑤クリック時処理」「⑥分岐条件」「⑦サブルーチン化」を段階的に深掘りします。