c# - 使用按钮将数字添加到文本框

标签 c# winforms

我是编程新手,遇到了问题。我有两个按钮和一个文本框。当我按下按钮时,文本框上会显示一个数字,但是当我按下第二个按钮时,文本框中的数字会覆盖它并替换它,而不是将其添加到文本框中。我该如何解决?我希望值添加而不是替换

public partial class Form1 : Form
{
    int value1 = 0;
    int value2 = 0;
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        value1++;
        textBox1.Text = value1.ToString();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        value2 += 2;
        textBox1.Text = value2.ToString();
    }
}

最佳答案

如果您想添加两个整数并将结果分配回textBox1,您必须

  1. 解析 textBox1.Text 为整数:int.Parse(textBox1.Text)
  2. 总结 值:int.Parse(textBox1.Text) + value2
  3. 结果转换回字符串:(...).ToString()

实现:

private void button2_Click(object sender, EventArgs e) { 
  value2 += 2;

  textBox1.Text = (int.Parse(textBox1.Text) + value2).ToString();
} 

编辑:如果 textBox1.Text 可能不包含有效的整数值(例如,textBox1.Text 为空) 你可以使用 int.TryParse:

private void button2_Click(object sender, EventArgs e) { 
  if (int.TryParse(textBox1.Text, out var v)) {
    value2 += 2;
    textBox1.Text = (v + value2).ToString();
  }
  else {
    //TODO: textBox1.Text is not a valid integer; put relevant code here 
  } 
} 

关于c# - 使用按钮将数字添加到文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47761088/

相关文章:

c# - ASP.NET 缓存

c# - 从文件名字符串中删除文件扩展名

c# - 如何在动态添加的 DropDownList 列表项上添加 OnClick 事件?

c# - 启动隐藏的 Windows 窗体应用程序 - 高内存使用率?

c# - 如何在 WebBrowser 控件 C# 中突出显示特定单词

c# - 如何询问任何日期格式是否适合另一个?

c# - 在执行重建之前不会发生更改

c# - 替换 .net 中的标准异常/错误表单

c++ - 如何从另一个类访问Form组件

c# - 多行文本作为 Windows 窗体中的按钮标签