Avance.Lab

技術紹介

C#に挑戦 電卓を作ってみよう~第3回~

公開日:2026.04.27 更新日:2026.04.27

tag: Windows

前回までの記事紹介

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.あとがき

今回はボタンが押されたタイミングによって処理が変わる内容を説明しました。
次回も演算処理について説明したいと思います。

mit 3

小物集め大好きな3児の父。
最近はゴルフにはまっています。

関連記事