このページで解説している内容は、以下の 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 | ラーメンタイマー | タイトルバーの表示 |
| StartPosition | CenterScreen | 起動位置を画面中央に |
| Font | Meiryo UI, 10pt など | 日本語 UI が読みやすいフォント |
| FormBorderStyle | FixedSingle | サイズ固定(誤操作防止) |
| MaximizeBox | False | 最大化ボタンを無効化 |
| MinimizeBox | True | 最小化は残す |
| KeyPreview | True | フォームでキー入力を先取り(拡張用) |
| Size | 420, 220 前後 | 最低限の入力・表示領域を確保 |
ポイント
FormBorderStyle=FixedSingleとMaximizeBox=Falseの組合せで、学習中のレイアウト崩れを防げますKeyPreview=Trueは将来 Enter/Space などのショートカットを足すときに便利です
2.5. AcceptButton/CancelButton の設定(任意)
のちほど配置する 「Start」 ボタンを AcceptButton にしておくと、Enter キーで開始できます。ボタンを先に作る場合はフォームの AcceptButton を ButtonStart に設定してください。キャンセル用ボタンを作る場合は CancelButton に割り当てると Esc キーで発火します。
表:キーボード連携
| フォームのプロパティ | 設定 | 効果 |
|---|---|---|
| AcceptButton | ButtonStart | Enter キーで Start |
| CancelButton | ButtonStop(予定) | 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/SystemIcons | OS 標準の色やアイコンを取得 |
Size 構造体 | Width×Height サイズを表す値型 |
2.8. よくあるつまずきと対処
| 症状 | 原因 | 対処 |
|---|---|---|
| ビルド時に「Form1 が見つからない」 | フォーム名を変えたのにスタートアップが旧名 | プロジェクトの「スタートアップ オブジェクト」を 「RamenTimer.FormRamenTimer」に変更 |
| デザイナが「読み取り専用」になって編集しづらい | Designer ファイルを直接触って競合 | 変更は基本デザイナから。Designer は手で編集しない。 |
| 起動位置がずれる。 | StartPosition が WindowsDefaultLocation | CenterScreen に変更 |
| フォームサイズが崩れる。 | リサイズ操作の誤り | FormBorderStyle=FixedSingle かつ MaximizeBox=False を推奨 |
ここまでの到達状態(確認チェック)
- プロジェクトが作成でき、フォーム名が
FormRamenTimerに統一されている。 - スタートアップが
FormRamenTimerでビルド エラーが無い。 - フォームのタイトルや枠、起動位置など基本プロパティが設定済み。
- 将来の Enter/Cancel 操作に備えた構成が理解できた。
