在我的程序中,我有几个带有相应名称的texbox和按钮(例如TextBox1 - buttonPlus1),如图所示
但是已经填充了从文本文件加载的数字。 我想编写的功能允许我按下按钮+并从文本框中放大(添加固定数字,例如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获取值(作为数字)并添加该步骤。有人能帮帮我吗?我试图通过许多不同的方式自己解决它,但它不起作用
答案 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());
}
}