前回までの記事紹介
C#に挑戦 電卓を作ってみよう~第1回~
C#に挑戦 電卓を作ってみよう~第2回~
今回は演算ボタンの処理についてコードを見ながら解説したいと思います。
1.前回のおさらい
前回で数値ボタンを押した時の処理を完成させました。
TextBoxの初期値「0」についての問題も判定処理を追加し関数化しましたね。
今回は演算ボタンの処理を作成しましょう。
2.演算ボタンが押された時の処理について
仕様(第1回記事)では演算ボタンが押された時にTextBoxに表示されているデータを内部的に保持し
演算をするとなっています。
ではボタンの処理をまずは見てみましょう。
private void button_Multiplication_Click(object sender, EventArgs e)
{
if (CalSetCheck() == true)
{
getTextData();
textBox1.Text += " × ";
b_Calformulflg = true;
}
else
{
getTextData();
m_d_resultDateFs = Calculation();
textBox1.Text = m_d_resultDateFs.ToString();
textBox1.Text += " × ";
}
m_str_Calformula = "*";
}この処理は「×」ボタンを押した内容です。
以下の関数、変数については次回説明します。
どの様な処理になるか自分で考えてみるとよい勉強になると思います。
getTextData()・・・・・テキストボックスの文字列をデータとして取得します。
Calculation()・・・・・演算処理。
m_d_resultDateFs・・・演算結果保持変数。
m_str_Calformula・・・演算式情報保持変数。
では処理について説明していきます。
判定文の関数について
// 演算ボタンが押された時のチェック
private bool CalSetCheck()
{
bool bChecked = true;
// 既に一度演算ボタンが押されデータが保持されている場合
if (b_Calformulflg == true)
{
bChecked = false;
}
return bChecked;
}これは既に一度演算ボタン類を押しているかのチェックをしています。
理由としては電卓の動作として、
「A+B」と表示されている状態で次の演算ボタンが押された時
現在表示している演算結果に対して、次に押された演算ボタンの処理をするためです。
以下Windows標準の電卓でみるとわかりやすいです。

「A+B」の状態にして「ー」を押すと

このように「2+3」の演算結果が表示され、上の式には
推された「ー」の式が表示されています。
この動きを実現するため、一度押されているかどうかを判定しています。
3.あとがき
今回はボタンが押されたタイミングによって処理が変わる内容を説明しました。
次回も演算処理について説明したいと思います。
関連記事
-
第1回 Visual C++で作成したDLL内のクラスをC#で利用する方法
こんにちは、ILCです。 Visual C++ (以下 VC++)で作成されたDynamic...
公開日:2024.01.19 更新日:2024.01.19
tag : Windows
-
-
-
【新機能探訪】Android 13から導入された『アプリごとの言語設定』
こんにちは、KNSKです。よろしくお願いします。 今回は Android13の新機能である『...
公開日:2022.12.09 更新日:2022.12.09
tag : スマートデバイス
-
第1回 ラズパイを使用したBLE通信 ~ ディスプレイ、キーボード、マウスを接続しないで設定 前編 ~
こんにちは、GTです。よろしくお願いします。 最近業務でラズパイのBluetooth機能を使...
公開日:2021.12.24 更新日:2021.12.24
tag : Bluetooth Raspberry Pi
-
こんにちは。WwWです。 システム系の開発をしていると様々な問題が起こります。 そこで今回は...
公開日:2023.04.28 更新日:2023.04.28