チュートリアル: 計算クイズの WinForms アプリを作成する
この 4 つのチュートリアル シリーズでは、計算クイズを作成します。 クイズには、クイズの回答者が指定した時間内に回答する 4 つのランダムな計算問題が含まれています。
Visual Studio の統合開発環境 (IDE) には、アプリを作成するために必要なツールが含まれています。 IDE の詳細については、「Visual Studio IDE へようこそ」を参照してください。
このチュートリアルでは、次の方法について説明します。
- Windows フォームを使用する Visual Studio プロジェクトを作成する。
- ラベル、ボタン、その他のコントロールをフォームに追加する。
- コントロールのプロパティを設定する。
- プロジェクトを保存し、実行する。
前提条件
このチュートリアルを完了するには Visual Studio が必要です。 無料バージョンについては、Visual Studio ダウンロード ページを参照してください。
Windows フォーム プロジェクトを作成する
計算クイズを作成する場合、最初の手順は、Windows フォーム アプリ プロジェクトを作成することです。
Visual Studio を開きます。
[スタート ウィンドウ] で、 [新しいプロジェクトの作成] を選択します。
[新しいプロジェクトの作成] ウィンドウで Windows フォーム を検索します。 次に、 [プロジェクトの種類] 一覧から [デスクトップ] を選択します。
C# または Visual Basic に対して [Windows フォーム アプリ (.NET Framework)] テンプレートを選択し、 [次へ] を選択します。
Note
[Windows フォーム アプリ (.NET Framework)] テンプレートが表示されない場合は、[新しいプロジェクトの作成] ウィンドウからインストールできます。 [お探しの情報が見つかりませんでしたか?] メッセージで、 [さらにツールと機能をインストールする] を選択します。
次に、Visual Studio インストーラーで、 [.NET デスクトップ開発] を選択します。
Visual Studio インストーラーで、 [変更] を選択します。 作業内容を保存するよう求められることがあります。 次に、 [続行] を選択してワークロードをインストールします。
[新しいプロジェクトの構成] ウィンドウで、プロジェクトに MathQuiz という名前を付けて、 [作成] を選択します。
Visual Studio を開きます。
[スタート ウィンドウ] で、 [新しいプロジェクトの作成] を選択します。
[新しいプロジェクトの作成] ウィンドウで Windows フォーム を検索します。 次に、 [プロジェクトの種類] 一覧から [デスクトップ] を選択します。
C# または Visual Basic に対して [Windows フォーム アプリ (.NET Framework)] テンプレートを選択し、 [次へ] を選択します。
Note
[Windows フォーム アプリ (.NET Framework)] テンプレートが表示されない場合は、[新しいプロジェクトの作成] ウィンドウからインストールできます。 [お探しの情報が見つかりませんでしたか?] メッセージで、 [さらにツールと機能をインストールする] を選択します。
次に、Visual Studio インストーラーで、 [.NET デスクトップ開発] を選択します。
Visual Studio インストーラーで、 [変更] を選択します。 作業内容を保存するよう求められることがあります。 次に、 [続行] を選択してワークロードをインストールします。
[新しいプロジェクトの構成] ウィンドウで、プロジェクトに MathQuiz という名前を付けて、 [作成] を選択します。
Visual Studio により、アプリのソリューションが作成されます。 ソリューションは、アプリに必要なすべてのプロジェクトとファイルのコンテナーです。
フォームのプロパティを設定する
テンプレートを選択し、ファイルに名前を付けると、Visual Studio によってフォームが自動的に開かれます。 このセクションでは、一部のフォーム プロパティを変更する方法について説明します。
プロジェクトで、 [Windows フォーム デザイナー] を選択します。 デザイナーのタブには、C# の場合は [Form1.cs [Design]] 、Visual Basic の場合は [Form1.vb [Design]] の名前が付けられます。
フォーム [Form1] を選択します。
[プロパティ] ウィンドウに、フォームのプロパティが表示されるようになりました。 通常、このウィンドウは Visual Studio の右下隅にあります。 [プロパティ] が表示されない場合は、 [表示]>[プロパティ ウィンドウ] を選択します。
[プロパティ] ウィンドウで [Text] プロパティを見つけます。 一覧の並べ替え方法によっては、下へのスクロールが必要になる場合があります。 [テキスト] の値に「計算クイズ」の値を入力して、Enter キーを選択します。
これで、タイトル バーに "計算クイズ" というテキストが表示されます。
注意
プロパティは、カテゴリまたはアルファベット順に表示できます。 [プロパティ] ウィンドウのボタンを使用して切り替えることができます。
フォームのサイズを幅が 500 ピクセル、高さが 400 ピクセルに変更します。
フォームの端、またはドラッグ ハンドルを動かして、 [プロパティ] ウィンドウの [Size] の値に正しいサイズが表示されるまで、サイズを変更できます。 ドラッグ ハンドルは、フォームの右下隅にある小さな白い四角形です。 [Size] プロパティの値を変更して、フォームのサイズを変更することもできます。
FormBorderStyle プロパティの値を Fixed3D に変更し、MaximizeBox プロパティを False に設定します。
これらの値によって、クイズの受け手はフォームのサイズを変更できなくなります。
残り時間ボックスを作成する
計算クイズの右上隅には、ボックスがあります。 このボックスには、クイズの残り時間 (秒) が表示されます。 このセクションでは、そのボックスのラベルを使用する方法について説明します。 このシリーズの後半のチュートリアルでは、カウントダウン タイマーのコードを追加します。
Visual Studio IDE の左側で、 [ツールボックス] タブを選択します。ツールボックスが表示されない場合は、メニュー バーから [表示]>[ツールボックス] を選択するか、Ctrl+Alt+X キーを押します。
[ツールボックス] で、Label コントロールを選択して、フォームにドラッグします。
[プロパティ] ボックスで、ラベルに対して次のプロパティを設定します。
- (Name) を [timeLabel] に設定します。
- [AutoSize] を [False] に変更して、ボックスのサイズを変更できるようにします。
- [BorderStyle] を [FixedSingle] に変更して、ボックスの枠線を描画します。
- [Size] を 200, 30 に設定します。
- [Text] プロパティを選択し、Backspace キーを選択して、 [Text] の値をクリアします。
- [Font] プロパティの横にあるプラス記号 ( + ) を選択し、 [Size] を 15.75 に設定します。
ラベルをフォームの右上隅に移動します。 青い枠線が表示されたら、それを使用してフォーム上にコントロールを配置します。
ツールボックスから別の Label コントロールを追加し、フォント サイズを 15.75 に設定します。
ラベルの [Text] プロパティを [Time Left] に設定します。
[timeLabel] ラベルの左側に並ぶようにラベルを移動します。
加算の問題にコントロールを追加する
クイズの最初の部分は、加算の問題です。 このセクションでは、ラベルを使用してその問題を表示する方法について説明します。
Label コントロールをツールボックスからフォームに追加します。
[プロパティ] ボックスで、ラベルに対して次のプロパティを設定します。
- [Text] を ? (疑問符) に設定します。
- [AutoSize] を [False] に設定します。
- [Size] を 60, 50 に設定します。
- フォント サイズを 18 に設定します。
- [TextAlign] を [MiddleCenter] に設定します。
- [Location] を 50, 75 に設定して、コントロールをフォーム上に配置します。
- (Name) を [plusLeftLabel] に設定します。
フォームで、作成した [plusLeftLabel] ラベルを選択します。 [編集]>[コピー] または Ctrl+C キーを選択して、ラベルをコピーします。
[編集]>[貼り付け] または Ctrl+V キーを 3 回選択して、ラベルをフォームに 3 回貼り付けます。
[plusLeftLabel] ラベルの右側に並ぶように、3 つの新しいラベルを配置します。
2 番目のラベルの [Text] プロパティを + (プラス記号) に設定します。
3 番目のラベルの (Name) プロパティを [plusRightLabel] に設定します。
4 番目のラベルの [Text] プロパティを = (等号) に設定します。
NumericUpDown コントロールをツールボックスからフォームに追加します。 この種類のコントロールについては、後ほど詳しく説明します。
[プロパティ] ボックスで、NumericUpDown コントロールに対して次のプロパティを設定します。
- フォント サイズを 18 に設定します。
- 幅を 100 に設定します。
- (Name) を sum に設定します。
加算問題のラベル コントロールに合わせて、NumericUpDown コントロールを並べます。
減算、乗算、除算問題のコントロールを追加する
次に、残りの計算問題のラベルをフォームに追加します。
4 つの Label コントロールと、加算問題に対して作成した NumericUpDown コントロールをコピーします。 フォームに貼り付けます。
新しいコントロールを加算コントロールの下に移動します。
[プロパティ] ボックスで、新しいコントロールに対して次のプロパティを設定します。
- 最初の疑問符のラベルの (Name) を [minusLeftLabel] に設定します。
- 2 番目のラベルの [Text] を - (マイナス記号) に設定します。
- 2 番目の疑問符のラベルの (Name) を [minusRightLabel] に設定します。
- NumericUpDown コントロールの (Name) を [difference] に設定します。
加算コントロールをコピーして、フォームにあと 2 回貼り付けます。
3 番目の行の場合:
- 最初の疑問符のラベルの (Name) を [timesLeftLabel] に設定します。
- 2 番目のラベルの [Text] を [x] (乗算記号) に設定します。 このチュートリアルから乗算記号をコピーし、フォームに貼り付けることができます。
- 2 番目の疑問符のラベルの (Name) を [timesRightLabel] に設定します。
- NumericUpDown コントロールの (Name) を [product] に設定します。
4 番目の行の場合:
- 最初の疑問符のラベルの (Name) を [dividedLeftLabel] に設定します。
- 2 番目のラベルの [Text] を [÷] (除算記号) に設定します。 このチュートリアルから除算記号をコピーし、フォームに貼り付けることができます。
- 2 番目の疑問符のラベルの (Name) を [dividedRightLabel] に設定します。
- NumericUpDown コントロールの (Name) を [quotient] に設定します。
スタート ボタンを追加し、タブ インデックスの順序を設定する
このセクションでは、スタート ボタンを追加する方法について説明します。 また、コントロールのタブ オーダーも指定します。 この順序により、クイズの回答者が Tab キーを使用してコントロール間を移動する方法が決まります。
Button コントロールをツールボックスからフォームに追加します。
[プロパティ] ボックスで、ボタンの次のプロパティを設定します。
- (Name) プロパティを [startButton] に設定します。
- [Text] プロパティを [Start the quiz] に設定します。
- フォント サイズを 14 に設定します。
- [AutoSize] を [True] に設定します。ボタンのサイズがテキストに合わせて自動的に変更されます。
- [TabIndex] を 0 に設定します。 この値により、スタート ボタンがフォーカスを受け取るための最初のコントロールになります。
フォームの下部付近にボタンを中央揃えで配置します。
[プロパティ] ボックスで、各 NumericUpDown コントロールの [TabIndex] プロパティを設定します。
- sum の NumericUpDown コントロールの [TabIndex] を 1 に設定します。
- difference の NumericUpDown コントロールの [TabIndex] を 2 に設定します。
- product の NumericUpDown コントロールの [TabIndex] を 3 に設定します。
- quotient の NumericUpDown コントロールの [TabIndex] を 4 に設定します。
アプリを実行する
クイズの計算問題は、まだ機能しません。 ただし、アプリを実行して、 [TabIndex] 値が期待どおりに機能するかどうかを確認することもできます。
アプリを保存するには、次のいずれかの方法を使用します。
- Ctrl+Shift+S キーを選択します。
- メニュー バーで、 [ファイル]>[すべてを保存] の順に選択します。
- ツール バーの [すべて保存] ボタンを選択します。
アプリを実行するには、次のいずれかの方法を使用します。
- F5 キーを選択します。
- メニュー バーで、 [デバッグ]>[デバッグ開始] の順に選択します。
- ツール バーの [開始] ボタンを選択します。
Tab キーを数回選択して、フォーカスがコントロール間でどのように移動するかを確認します。
次のステップ
次のチュートリアルに進み、ランダムな計算問題とイベント ハンドラーを計算クイズに追加します。