Windows窗体应用程序-C#获取用户输入

问题描述 投票:0回答:1

我正在使用C#制作Windows窗体应用程序。我有一个带有4个标签,4个文本框和3个按钮的表单。唯一可以在其中输入任何内容的文本框是第一个1框,其余的框都具有TapStop = false。我希望用户能够在第一个文本框中输入一堆数字,并且希望将这些数字相加以获得平均值和总数。我已经有一个按钮,一旦用户输入内容,用户就可以按它。我正在尝试做的事情类似于计算器。用户输入一个数字,然后输入另一个,然后输入另一个,依此类推。我想取所有这些数字并得到总数,它们输入的数量和平均值。我在准备好所有这些数字进行计算时遇到了麻烦。我为“添加”按钮创建了一个事件处理程序,并为平均值和总计声明了变量。我在这两件事上遇到了麻烦:

1-我不确定每次用户输入内容时如何获取输入。

2-我不确定如何转换用户输入的数字,因为默认值是文本框中的字符串。

由于我不确定事件的处理方法和声明的变量,因此我没有其他代码,所以我尽可能地明确,因为我不确定下一步该怎么做。

关于这两件事有什么建议吗?谢谢。

c# visual-studio programming-languages windows-forms-designer
1个回答
0
投票

1-我不确定每次用户输入内容时如何获取输入。

如果您想根据用户输入来更新值而无需按按钮,则可以使用TextChanged事件,在哪里可以找到它?只需双击设计器中的文本框,则每次用户更改此文本框中的文本时,都会触发此事件。

private void textBox1_TextChanged(object sender, EventArgs e)
{

}

2-我不确定如何转换用户输入的数字,因为默认值是文本框中的字符串。

int value = Convert.ToInt32(textBox1.Text);

编辑

所以根据您的评论,这是我的解决方法。

    //The entered values will be stored as List of integars.
    List<int> enteredValues = new List<int>();

    //The button will store each value in the List of integers.
    private void button1_Click(object sender, EventArgs e)
    {
        int value;

        if(int.TryParse(textBox1.Text,out value))
        {
            enteredValues.Add(value);
        }
        else
        {
            //Show error message here.
        }
    }

    //This button will calculate the sum of entered values.
    private void button2_Click(object sender, EventArgs e)
    {
        int totalValues = 0;
        foreach(int val in enteredValues)
        {
            totalValues += val;
        }
    }

0
投票

1-我不确定每次用户输入内容时如何获取输入。

如果您想根据用户输入来更新值而无需按按钮,则可以使用TextChanged事件,在哪里可以找到它?只需双击设计器中的文本框,则每次用户更改此文本框中的文本时,都会触发此事件。

ReadOnly

2-我不确定如何转换用户输入的数字,因为默认值是文本框中的字符串。

ReadOnly
© www.soinside.com 2019 - 2024. All rights reserved.