gpt4 book ai didi

c# - 抛出 ArgumentOutOfRange 异常

转载 作者:太空宇宙 更新时间:2023-11-03 21:43:37 25 4
gpt4 key购买 nike

我一直在编写一个 Winforms 应用程序,用户可以在其中从组合框中选择内容。但是,当我运行该应用程序时,编译器会抛出 ArgumentOutOfRange 异常,因为索引为 -1。

代码:

 if (comboBox1.Enabled == false || comboBox2.Enabled == true || comboBox3.Enabled == false)
{

int index = comboBox2.SelectedIndex;
string t = comboBox2.Items[index].ToString();//<==EXCEPTION
switch (t)
{
case "Ounzes==>Pounds":

break;
case "Pounds==>Ounzes":

break;
case "Tons==>Pounds":
break;
case "Pounds==>Tons":
break;
case "Ounzes==>Tons":
break;
case "Tons==>Ounzes":
break;

case "Stone==>Pound":
break;
case "Pound==>Stone":
break;
case "Tons==>Stone":
break;
case "Stone==>Ton":
break;
}
}

任何人都可以解释为什么抛出这个异常,因为我确实从组合框中选择了一些东西。

最佳答案

您的 ComboBox 中似乎没有选择任何项目。看看 documentation :

A zero-based index of the currently selected item. A value of negative one (-1) is returned if no item is selected.

解决这个问题最明显的方法就是检查以确保在尝试使用项目之前已选择它,如下所示:

int index = comboBox2.SelectedIndex;
if (index >= 0)
{
string t = comboBox2.Items[index].ToString();
switch (t)
{
...
}
}

关于c# - 抛出 ArgumentOutOfRange 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com