不能在文本框中放置多个数字。在我的简单计算器程序中

时间:2017-01-12 13:31:47

标签: c#

需要帮助制作一个简单的计算器。我不能在计算器的文本框中输入多个数字。每次我把第二个数字替换成第一个需要帮助!

我的计算器文本框中不能超过一个输入数字,而是用第二个数字输入替换第一个数字

namespace Calculator_Project
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void InputOutputArea_TextChanged(object sender, EventArgs e)
        {

        }

        private void One_Click(object sender, EventArgs e)
        {
            int Input = 1;
            InputOutputArea.Text = Input.ToString();
        }

        private void Two_Click(object sender, EventArgs e)
        {
            int Input = 2;
            InputOutputArea.Text = Input.ToString();
        }

        private void Three_Click(object sender, EventArgs e)
        {

        }

        private void Four_Click(object sender, EventArgs e)
        {

        }

        private void Five_Click(object sender, EventArgs e)
        {

        }

        private void Six_Click(object sender, EventArgs e)
        {

        }

        private void Seven_Click(object sender, EventArgs e)
        {

        }

        private void Eight_Click(object sender, EventArgs e)
        {

        }

        private void Nine_Click(object sender, EventArgs e)
        {

        }

        private void Eql_Click(object sender, EventArgs e)
        {

        }

        private void AddB_Click(object sender, EventArgs e)
        {

        }

        private void Minus_Click(object sender, EventArgs e)
        {

        }

        private void MultiplyB_Click(object sender, EventArgs e)
        {

        }

        private void DivideB_Click(object sender, EventArgs e)
        {

        }

        private void Zero_Click(object sender, EventArgs e)
        {

        }

        private void ResetB_Click(object sender, EventArgs e)
        {
            InputOutputArea.Clear();
        }
    }
}

4 个答案:

答案 0 :(得分:1)

你应该使用 InputOutputArea.Text += Input.ToString(); (注意'+')以便附加到文本框。

答案 1 :(得分:1)

   private void Two_Click(object sender, EventArgs e)
    {
        int Input = 2;
        InputOutputArea.Text += Input.ToString();
    }

您必须使用+ =将其他文字添加到第一个文本的下一个

答案 2 :(得分:1)

这是你的问题:

InputOutputArea.Text = Input.ToString();

这取代了文本框的内容,而不是添加到文本框中。

InputOutputArea.Text += Input.ToString();

上面的代码应该按照你的要求去做。

值得记住的是,使用+连接字符串的效率相当低,因此除非绝对必要,否则不要在性能关键代码中执行此操作。在这些情况下,String-builder几乎总是更好。

答案 3 :(得分:1)

每个答案都在谈论前一段文本与当前文本的连接,但我想提出更多的建议;

您不需要为执行相同任务的所有按钮创建单独的事件处理程序,希望每个按钮的文本都是您需要在textBox中显示的数字(例如btnOne将保持{ {1}}和1拥有btnTwo等等。通过使用此Text,我们可以重用以下处理程序,让2成为处理程序,其定义如下:

btnNumber_Click