我是c#windows form app的新手。这是我的问题: 我在表单中创建了一个comboBox,并将项添加到此comboBox中,如下所示:
foreach (string name in seqNames)
{
comboBox.items.add(name);
}
以后检查
是否选择了任何组合框项目if (comboBox.selectedItem.toString().length > 0)
{
blabla;
}
但是当我运行它时,没有选择此组合框中的任何项目,我收到一个错误: “你调用的对象是空的”。
有人帮帮我吗?请..... 提前谢谢。
答案 0 :(得分:2)
如果您引用comboBox.SelectedItem
并且未选择任何项目,则所选项目为null
,您无法执行null.ToString()
。
而是尝试测试所选项目,如下所示:
if (comboBox.SelectedItem != null)
{
blabla;
}
答案 1 :(得分:0)
SelectedItem
返回null(即,未选择任何项),并且尝试在null
上调用方法将导致异常。安德鲁已经注意到这一点(+1安德鲁),但我想我会补充一点,你可以将DropDownStyle
属性设置为ComboBoxStyle.DropDownList
。
如果你不希望你的用户输入它并且你总是想要选择一些项目,那么这是一种更好的方法,在这种情况下你可以指望SelectedItem
永远不会为空(假设物品不能从ComboBox
并且您始终使用至少一个项目初始化它。)