c#中comboBox值和textBox值的问题
本文关键字:问题 textBox 值和 comboBox | 更新日期: 2023-09-27 18:04:32
我是c#初学者,我真的需要一些提示如何解决这个问题。
我在c#中创建了一个项目,在一个形式中,我有comboBox的值是9-20之间的数字和一个文本框。
我想要的是每当ComboBox被选中时,那么TextBox将被设置为ComboBox value + 1。例如:选择"ComboBox1",值为"11",则选择"TextBox1"。文本将被设置为12。
这是我一直在做的代码。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e
{
textBox1.Text = comboBox1.SelectedIndex.ToString() +1;
}
代码没有任何问题,但我没有得到我想要的值,因为结果就像如果comboBox被选中值=11,和textBox1。文本是21,不是12。
您必须首先将ComboBox.SelectedValue
转换为int
然后添加1和
然后将其转换为String
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = Convert.ToString(Convert.ToInt16(comboBox1.SelectedValue) + 1);
}
如果您正在开发Windows窗体应用程序,那么试试这个:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = Convert.ToString(Convert.ToInt16(comboBox1.SelectedItem) + 1);
}
.ToString()
将选择的索引转换为string
类型。加法运算符(+
)将整数1
转换为字符串"1"
,只需将数字1附加到文本中。相反,您应该将SelectedIndex
保留为整数,执行加法,然后转换为字符串。
尝试以下操作:
textBox1.Text = (comboBox1.SelectedIndex + 1).ToString();
您可能需要使用SelectedValue
而不是SelectedIndex
,因为前者获得组合框项的实际值,而后者获得组合框项的索引。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e
{
textBox1.Text = ((int)comboBox1.SelectedValue + 1).ToString();
}