-2

この計算機は非常に基本的なものであるため、一度に計算する値は2つだけです。

私は2つの値のみval1を計算してval2います。これらの値は、小数点を含む任意のサイズにすることができます。数値0〜9、小数点、プラス、マイナス、除算、乗算、等式のボタンがあります。

val1、val2が必要で、ボタンを押した後にoperator(ex. +,-,/,*)これらの値が表示されるように計算することを選択します。私が行うすべての計算は、前の計算の下のリストボックスに追加したいと思います。listBoxが一定量の計算(10〜15)に成長したら、最も古い計算を下から削除し、最新の計算をリストの一番上に追加します。listBox=

public partial class Form1 : Form
{
    // global variables
    bool plus = false;
    bool minus = false;
    bool multiply = false;
    bool divide = false;
    bool equal = false;

    public Form1()
    {
        InitializeComponent();
    } // **MUST HAVE**

    private void button0_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "0";
    } // makes number click usable

    private void CheckIfEqual()
    {
        if (equal) // checks if equal is true
        {
            textBox1.Text = ""; // clear textBox
            equal = false; // tells program there is new calculation
        }
    } 

    private void button1_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "1";
    } // makes number click usable

    private void button2_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "2";
    } // makes number click usable

    private void button3_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "3";
    } // makes number click usable

    private void button4_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "4";
    } // makes number click usable

    private void button5_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "5";
    } // makes number click usable

    private void button6_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "6";
    } // makes number click usable

    private void button7_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "7";
    } // makes number click usable

    private void button8_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "8";
    } // makes number click usable

    private void button9_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        textBox1.Text = textBox1.Text + "9";
    } // makes number click usable


    private void buttonDecimal_Click(object sender, EventArgs e)
    {
        CheckIfEqual();
        if (textBox1.Text.Contains("."))
        {
            return;
        } // if it contains a decimal execute 
        else
        {
            textBox1.Text = textBox1.Text + ".";
        } // adds decimal
      } // end decimal

    private void buttonPlusMinus_Click(object sender, EventArgs e)
    {
        if (textBox1.Text.Contains("-"))
        {
            textBox1.Text = textBox1.Text.Remove(0, 1);
        } // if it contains the - character remove it
        else
        {
            textBox1.Text = "-" + textBox1.Text;
        } //
    } // adds/removes -

    private void buttonPlus_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "")
        {
            return;
        } // if textbox is empty return
        else
        {
            plus = true;
            textBox1.Tag = textBox1.Text; // stores number 
            textBox1.Text = ""; // clears textbox
        } // tells program we are adding
    } // end plus

    private void buttonMinus_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "")
        {
            return;
        } // if textbox is empty return
        else
        {
            minus = true;
            textBox1.Tag = textBox1.Text; // stores number 
            textBox1.Text = ""; // clears textbox
        } // tells program we are subtracting

    }

    private void buttonMultiply_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "")
        {
            return;
        } // if textbox is empty return
        else
        {
            multiply = true;
            textBox1.Tag = textBox1.Text; // stores number 
            textBox1.Text = ""; // clears textbox
        } // tells program we are multiplying
    }

    private void buttonDivide_Click(object sender, EventArgs e)
    {
        if (textBox1.Text == "")
        {
            return;
        } // if textbox is empty return
        else
        {
            divide = true;
            textBox1.Tag = textBox1.Text; // stores number 
            textBox1.Text = ""; // clears textbox
        } // tells program we are dividing
    }

    private void buttonEquals_Click(object sender, EventArgs e)
    {
        equal = true; // tells program it made a calculation
        if (plus) // if true execute
        {
            decimal dec = Convert.ToDecimal(textBox1.Tag) + Convert.ToDecimal(textBox1.Text);
            textBox1.Text = dec.ToString(); // display value once add is finished
            plus = false;
        } // end if plus

        if (minus) // if true execute
        {
            decimal dec = Convert.ToDecimal(textBox1.Tag) - Convert.ToDecimal(textBox1.Text);
            textBox1.Text = dec.ToString(); // display value once add is finished
            minus = false;
        } // end if minus

        if (multiply) // if true execute
        {
            decimal dec = Convert.ToDecimal(textBox1.Tag) * Convert.ToDecimal(textBox1.Text);
            textBox1.Text = dec.ToString(); // display value once add is finished
            multiply = false;
        } // end if multiply

        try
        {
            if (divide) // if true execute
            {
                decimal dec = Convert.ToDecimal(textBox1.Tag) / Convert.ToDecimal(textBox1.Text);
                textBox1.Text = dec.ToString(); // display value once add is finished
                divide = false;
            } // end if divide
        } // try
        catch (DivideByZeroException ex)
        {
            MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK);
        } // catch
     } // end buttonEquals

    private void buttonClear_Click(object sender, EventArgs e)
    {
        plus = minus = multiply = divide = false; // makes all false regardless
        textBox1.Text = ""; // clear
        textBox1.Tag = ""; // clears
    }


    } // end partial class Form1
}// end namespace   
4

1 に答える 1