c#winForm将值添加到文本框中的数字

时间:2012-06-01 01:22:43

标签: c# winforms button textbox

在我的程序中,我有几个带有相应名称的texbox和按钮(例如TextBox1 - buttonPlus1),如图所示

enter image description here

但是已经填充了从文本文件加载的数字。 我想编写的功能允许我按下按钮+并从文本框中放大(添加固定数字,例如100)值。到目前为止我已经完成了:

  private void buttonPlus1_Click(object sender, EventArgs e)
    {
        AddValue(sender,e);
    }

    private void AddValue(object sender, EventArgs e)
    {
        if (!(sender is Button))
            return;

        string controlName = (sender as Button).Name;
        string textBoxName = controlName.Replace("buttonPlus", "textBox");

        TextBox textBox = this.Controls.Find(textBoxName, false)[0] as TextBox;
        int step = 100;



    }

但我不知道如何从textBox获取值(作为数字)并添加该步骤。有人能帮帮我吗?我试图通过许多不同的方式自己解决它,但它不起作用

5 个答案:

答案 0 :(得分:3)

获取价值:

Convert.ToInt32(textBox.Text)

将其保存到变量中,添加100并像往常一样设置它。

P.S。您也可以使用Int32.Parse("")

textBox.Text = Convert.ToInt32(textBox.Text) + 100;

(您可能需要.ToString()

编辑: 正如ltiong_sh所提到的,你应该使用TryParse而不是Parse:

int somevalue;
if(Int32.TryParse(textBox.Text, out somevalue))
{
    textBox.Text = somevalue + 100;
}

答案 1 :(得分:0)

这就是你要找的东西:

int newValue = Convert.ToInt32(textBox.Text) + step;

要将值放回文本框,您可以执行以下操作:

textBox.Text = newValue.ToString();

修改

正如其他人所提到的,你应该使用Int32.TryParse来防止抛出错误。

if(Int32.TryParse(textBox.Text, out newValue))
{
    newValue += step;
    textBox.Text = newValue.ToString();
}

答案 2 :(得分:0)

您需要 将字符串转换为整数

int txtValue = Convert.ToInt32(textBox.Text) + 100;

答案 3 :(得分:0)

确保您在文本字段中验证文字。另外,在解析它时会抛出异常。

你可以这样做

int value = 0;
if(Int32.TryParse(textBox.Text, out value))
{
   value += step;
   textBox.Text = value.ToString();
}
else
{
   //inform user to enter int
}

答案 4 :(得分:0)

单击按钮中的

获取文本框值并将其转换为整数格式并向其中添加100。之后重置文本框值以修改一个。这就是你需要的。

private void buttonPlus1_Click(object sender, EventArgs e)
{
   try
   {
       int txtValue = Convert.ToInt32(textBox.Text) + 100;
       textBox.Text = txtValue.ToString();
   }
   catch(Exception ex)
   {
     MessageBox.Show(ex.Message.ToString());
   }
}