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

【6日でできるVisual Basic2022入門】②フォームの設定:プロジェクトの作成からフォームの設定

2.②フォームの設定:プロジェクトの作成からフォームの設定

 本章では、VS Community 2022 で WinForms(VB/.NET)プロジェクトを新規作成し、フォーム名を FormRamenTimer に統一、スタートアップオブジェクトを適切に設定して起動エラーを防ぐ手順を解説します。併せて、タイトルやStartPosition、FormBorderStyle、MaximizeBoxなどの初期プロパティ、AcceptButton設定で操作性を高める方法、デザイナ自動生成(Partial Class/InitializeComponent)の要点と「Form1が見つからない」対処も確認します。

2.1. 新しいプロジェクトの作成

VS Community 2022 を起動し、次の順で進めます。

1.スタートページで「新しいプロジェクトの作成」をクリック

2.検索ボックスに「winforms」と入力

  • 一覧から「Windows フォーム アプリ(Visual Basic)」を選択(※「.NET Framework」版ではない方)
  • [次へ] をクリック

3.「プロジェクト名」:RamenTimer

「場所」:例 C:Users\ユーザー名\source/repos ※任意で設定

4.「フレームワーク」:PCに入っている最新版(例:.NET 8.0 もしくは .NET 9.0)。学習用はどちらでも可

「作成」をクリックします。

5.プロジェクトが作成され、フォーム(既定では Form1)のデザイン画面が表示されます。

表:作成ウィザードの主な項目

項目設定例補足
テンプレートWindows フォーム アプリ(VB)".NET" 世代のテンプレートを選択
プロジェクト名RamenTimerスペースや日本語は可だが英数字推奨
場所(任意)C:Users\ユーザー名\source/reposer学習用に専用フォルダを用意すると管理しやすい。
フレームワーク.NET 8.0 または .NET 9.0いずれも WinForms 利用可

2.2. フォームのファイル名とクラス名を整える

ラーメンタイマーに合わせて名前をそろえ、後工程(スタートアップ設定など)の混乱を防ぎます。

1.ソリューション エクスプローラーで 「Form1.vb」 を選択

2.F2 または右クリック→「名前の変更」で 「FormRamenTimer.vb」 に変更

3.直後に表示されるダイアログで「ファイル内のクラス名も変更するか」の確認が出たら「はい」

デザイナーファイル「FormRamenTimer.Designer.vb」の部分クラス名も自動で追従します

 もし手動でクラス名を書き換えた場合、部分クラス名が一致しないとビルド エラーになります。名前は「ファイル名」「Designer 側」「コード側」で統一しましょう。

2.3. スタートアップ フォームの確認

フォーム名を変えた直後は、プロジェクトの起動対象が旧名のままになっていることがあります。

1.メニュー「プロジェクト」→「RamenTimer のプロパティ」

2.左メニュー「アプリケーション」

「スタートアップ オブジェクト」を 「RamenTimer.FormRamenTimer」 に変更

3.メニュー「ビルド」→「ソリューションのビルド」で確認(エラーが無ければ OK)

2.4. フォームの初期プロパティを設定

 デザイナでフォームをクリックし、プロパティ ウィンドウから設定します。最初に見た目と操作感の「土台」を整えます。

表:フォーム(FormRamenTimer)の推奨プロパティ

プロパティ設定値意味
Textラーメンタイマータイトルバーの表示
StartPositionCenterScreen起動位置を画面中央に
FontMeiryo UI, 10pt など日本語 UI が読みやすいフォント
FormBorderStyleFixedSingleサイズ固定(誤操作防止)
MaximizeBoxFalse最大化ボタンを無効化
MinimizeBoxTrue最小化は残す
KeyPreviewTrueフォームでキー入力を先取り(拡張用)
Size420, 220 前後最低限の入力・表示領域を確保

ポイント

  • FormBorderStyle=FixedSingleMaximizeBox=False の組合せで、学習中のレイアウト崩れを防げます
  • KeyPreview=True は将来 Enter/Space などのショートカットを足すときに便利です

2.5. AcceptButton/CancelButton の設定(任意)

 のちほど配置する 「Start」 ボタンを AcceptButton にしておくと、Enter キーで開始できます。ボタンを先に作る場合はフォームの AcceptButtonButtonStart に設定してください。キャンセル用ボタンを作る場合は CancelButton に割り当てると Esc キーで発火します。

表:キーボード連携

フォームのプロパティ設定効果
AcceptButtonButtonStartEnter キーで Start
CancelButtonButtonStop(予定)Esc キーで停止など

2.6. デザイナでの自動生成コードと VB の関係

 フォームに対するプロパティ設定やコントロール追加は、InitializeComponent() 内に自動生成されます(FormRamenTimer.Designer.vb)。フォーム本体のクラス(FormRamenTimer.vb)とは「部分クラス(Partial Class)」で分割管理されます。

用語の確認

  • Partial Class(部分クラス):同一クラス定義を複数ファイルに分割する仕組み。デザイナ生成と自分のコードを安全に分離できる
  • InitializeComponent():フォーム生成時に一度だけ呼ばれ、コントロールの生成・配置・初期プロパティ適用を行うメソッド

2.7. コードで補助的にフォーム設定を行う例

 多くの設定はデザイナで十分ですが、実行時に条件で切り替えたい設定はコードでも可能です。ここではフォームの Load イベントで見た目を整える例を示します。

Public Class FormRamenTimer

    Private Sub FormRamenTimer_Load(sender As Object, e As EventArgs) _
        Handles MyBase.Load

        ' 追加の見た目調整(必要に応じて)
        Me.BackColor = SystemColors.Window
        Me.MinimumSize = New Size(420, 220) ' 最小サイズ
        Me.Icon = SystemIcons.Information   ' 仮のアイコン(任意)

        ' 今後 3 章で配置するコントロールが無い場合も Load は安全に実行されます
    End Sub

End Class

・「RamenTimer」ボタンをクリックします。

以下のように実行されれば成功です。

VB 2022 の命令・イベント解説(この節で使った要素)

要素概要
Handles MyBase.Loadフォーム表示直前に発生する Load イベントにメソッドを関連付け
SystemColors/SystemIconsOS 標準の色やアイコンを取得
Size 構造体Width×Height サイズを表す値型

2.8. よくあるつまずきと対処

症状原因対処
ビルド時に「Form1 が見つからない」フォーム名を変えたのにスタートアップが旧名プロジェクトの「スタートアップ オブジェクト」を 「RamenTimer.FormRamenTimer」に変更
デザイナが「読み取り専用」になって編集しづらいDesigner ファイルを直接触って競合変更は基本デザイナから。Designer は手で編集しない。
起動位置がずれる。StartPositionWindowsDefaultLocationCenterScreen に変更
フォームサイズが崩れる。リサイズ操作の誤りFormBorderStyle=FixedSingle かつ MaximizeBox=False を推奨

ここまでの到達状態(確認チェック)

  • プロジェクトが作成でき、フォーム名が FormRamenTimer に統一されている。
  • スタートアップが FormRamenTimer でビルド エラーが無い。
  • フォームのタイトルや枠、起動位置など基本プロパティが設定済み。
  • 将来の Enter/Cancel 操作に備えた構成が理解できた。