Ex2. 電卓を作ろう

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

プログラムを書いていこう

早速実装していきましょう。

変数を定義する

まず必要な変数を用意しておきましょう。
フォームのソースコードを開き、以下のコードを書いてください。

string Input_str = "";  // 入力された数字
double Result = 0;      // 計算結果
string Operator = null; // 押された演算子

ちなみに場所はこの位置です。
calc6

ソースコードを書いていこう

数字のボタンのイベントを実装する

数字のボタンの処理はいたってシンプルな上に、どのボタンを押されてもやる処理は似たようなものです。
なので、ここではまとめてイベントに登録しちゃいます。

数字のボタンと、小数点のボタンをCtrlキーを押しながら選択していきます。
そして、プロパティウィンドウのClickイベントをダブルクリックして、メソッドを作成します。
calc5
そうすると、複数のコントロールを選択したにも関わらず、作られるメソッドは1つだけです。
つまり、どのボタンを押されてもこのメソッドに飛んでくる。という処理がこれでできたのです。
しかし、これではどのボタンが押されたかわからなくて困りますよね。でも大丈夫。senderというパラメータからどのボタンが選択されたかわかるのです!
というわけで実際のコードを見てみましょう。

// senderの詳しい情報を取り扱えるようにする
Button btn = (Button)sender;
// 押されたボタンの数字(または小数点の記号)
string text = btn.Text;
// [入力された数字]に連結する
Input_str += text;
// 画面上に数字を出す
textBox1.Text = Input_str;

senderはobject型です。これでは押されたボタンの文字を取得することができないので、一度Button型に変換してあげます。
そうすることで、ボタンの文字を取得することができるので、[入力された数字]の変数に+=を使ってつなぎ合わせてあげます。
次のページに続きます。