0

電卓を作っています。キーボードからの入力も取りたいです。これは私のコードの一部です。問題は、キーボードからの 2 番目の入力で + 記号が表示されず、「+」記号が追加され、ボタン クリックからの入力中に + 記号が表示されないことです。ボタンクリックとキープレスの両方の機能を作成するのは正しいですか、それともそれぞれに個別に作成する必要がありますか? テキストボックスでカーソルを管理する方法は?

private void button1_Click(object sender, EventArgs e)
    {
        yourArithmeticOperation = true;                 //Enable Arithmetic button click
        yourEqual = true;                               //Enable Equal button click
        if (yourNumberControl)                          //check number button to append or start new
        {
            if (yourControlClick)                       //check click button enabled or not
            {
                textBox1.Text += "1";                   //append no.

            }
            else
                return;
        }
        else
        {
            textBox1.Text = "1";                        //clear textbox and put new no.
            yourNumberControl = true;                    //Enable Number button click
        }


    }

private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Add)
        {
            add();
        }

    }

    private void add()
    {
        yourEqual = false;                              //Disable equal button
        yourNumberControl = true;                       //enable number button
        if (yourArithmeticOperation)                    //check Arithmetic button
        {
            num1 = double.Parse(textBox1.Text);
            textBox1.Text = "";
            equal = "+";
            yourArithmeticOperation = false;            // disable arithmetic operator
        }
        else                                            //change the arithmeetic sign
        {
            textBox1.Text = "";
            equal = "+";
        }
    }
4

0 に答える 0