レイアウトが完成したら、最初に画面表示時の処理を作っていきます。まず演算の列挙体を定義します*7。ソリューション エクスプローラーのCalculatorを右クリックして、「追加」→「新しい項目」を選択します。「新しい項目の追加」ダイアログで「コードファイル」を選択します。名前に「Operator」と入力し(Operator.csになります)、リスト1のように記述します。ここでは、計算処理のどれを行っているか(もしくは何も選択されていない)を表す列挙体を定義しています。本特集では、C#の詳しい文法などには触れず、VS2010の使い方をメインに解説していきます。

namespace Calculator
{
  public enum Operator
  {
    /// <summary> 何も選択されていないことを示す </summary>
    None,
    /// <summary> 足し算を示す </summary>
    Add,
    /// <summary> 引き算を示す </summary>
    Sub,
    /// <summary> 掛け算を示す </summary>
    Multi,
    /// <summary> 割り算を示す </summary>
    Div
  }
}
リスト1●Operator列挙型の定義。加減乗除と処理なしを定義する(Operator.cs)

賢くなったIntelliSenseを活用しよう

 次に、デザイナー上にある「Form1」のタイトルバーをダブルクリックすると、コードの画面が表示されて、Form1_Loadメソッドにカーソルが移動するはずです。ここに、プログラムを起動したときの初期化処理を実装していきます。リスト2のように編集します。

リスト2●Form1クラスのメンバー変数を宣言し、Form1_Loadメソッドで初期化する(Form1.cs)
リスト2●Form1クラスのメンバー変数を宣言し、Form1_Loadメソッドで初期化する(Form1.cs)

 (1)で、各種の状態を保持するためにプライベート変数を定義し、(2)でプライベート変数の値を初期化します。resultは計算結果を保持する変数、isNewは新しい数字を入力するかどうかを判断する変数、operationは計算の種類を保持する変数として定義しました。operationは、リスト1で宣言したOperator型の変数です。(3)ではResultTextBoxの文字を「0」に初期化しています。

図8●Visual Studio 2010の新しいIntelliSenseはメンバー名の途中も検索している
図8●Visual Studio 2010の新しいIntelliSenseはメンバー名の途中も検索している

 Visual Studioでコードを入力する際には、IntelliSense(インテリセンス)というコード補完機能を利用できます。図8は、ResultTextBoxの行を記述するときに、あえて「this.text」と入力してみたところです。textというキーワードを含むメンバーの一覧が表示され、上下矢印キーで選択し、Tabキーで確定できます。

 Visual Studio 2008までのIntelliSenseでは、メンバー名の先頭からフィルタリングを行っていたため、最初の文字がわからないと目的のメンバーを見つけられませんでした。しかし、VS2010のIntelliSenseは、メンバー名の途中からでも検索するようになり、ここではtextという単語を含むものを列挙してくれています。

この先は会員の登録が必要です。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら