c#comboBox上的Windows窗体应用程序错误

时间:2011-02-25 00:24:44

标签: c#

我是c#windows form app的新手。这是我的问题: 我在表单中创建了一个comboBox,并将项添加到此comboBox中,如下所示:

foreach (string name in seqNames)
{

    comboBox.items.add(name);
}

以后检查

是否选择了任何组合框项目
if (comboBox.selectedItem.toString().length > 0)
{
      blabla;
}

但是当我运行它时,没有选择此组合框中的任何项目,我收到一个错误: “你调用的对象是空的”。

有人帮帮我吗?请..... 提前谢谢。

2 个答案:

答案 0 :(得分:2)

如果您引用comboBox.SelectedItem并且未选择任何项目,则所选项目为null,您无法执行null.ToString()

而是尝试测试所选项目,如下所示:

if (comboBox.SelectedItem != null)
{
      blabla;
}

答案 1 :(得分:0)

SelectedItem返回null(即,未选择任何项),并且尝试在null上调用方法将导致异常。安德鲁已经注意到这一点(+1安德鲁),但我想我会补充一点,你可以将DropDownStyle属性设置为ComboBoxStyle.DropDownList

如果你不希望你的用户输入它并且你总是想要选择一些项目,那么这是一种更好的方法,在这种情况下你可以指望SelectedItem永远不会为空(假设物品不能从ComboBox并且您始终使用至少一个项目初始化它。)