【问题标题】:c# Windows form application error on comboBoxc# ComboBox上的Windows窗体应用程序错误
【发布时间】:2011-02-25 00:24:44
【问题描述】:

我是 C# Windows 窗体应用程序的新手。这是我的问题: 我在表单中创建了一个组合框,并将项目添加到该组合框,如下所示:

foreach (string name in seqNames)
{

    comboBox.items.add(name);
}

然后检查是否有任何组合框项目被选中

if (comboBox.selectedItem.toString().length > 0)
{
      blabla;
}

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

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

【问题讨论】:

    标签: c#


    【解决方案1】:

    如果你引用了comboBox.SelectedItem并且没有选择任何项目,那么选择的项目是null,你不能做null.ToString()。

    尝试像这样测试所选项目:

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

    【讨论】:

      【解决方案2】:

      SelectedItem 正在返回 null(即未选择任何项目),并且尝试调用 null 上的方法将导致异常。 Andrew 已经注意到这一点(+1 Andrew),但我想我会补充一点,您可能会从将 DropDownStyle 属性设置为 ComboBoxStyle.DropDownList 中受益。

      如果您不希望您的用户输入它并且您总是希望选择某些项目,这是一种更好的方法,在这种情况下,您可以指望 SelectedItem 永远不会为空(假设项目不能从 @ 中删除987654326@ 并且你总是用至少一项来初始化它。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        • 2017-10-12
        • 1970-01-01
        相关资源
        最近更新 更多