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。

c#中comboBox值和textBox值的问题

您必须首先将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();
}