Combobox 对象未设置为对象的实例!!组合框SelectedIndex SelectedItem

Combobox 对象未设置为对象的实例!!组合框SelectedIndex SelectedItem,combobox,clearcase,selecteditem,selectedindex,Combobox,Clearcase,Selecteditem,Selectedindex,我正在开发一个程序,获取所有Clearcase区域(基本上是字符串)并将它们添加到组合框中。我比较组合框中新添加项中的现有clearcase区域字符串&如果找到它,那么我想选择它,但是因为第一次没有选择任何内容,所以selectedItem为null&selectedIndex=-1。 将0指定给selectedIndex时,出现错误-->对象未设置为对象的实例!!将某些内容分配给selectedItem时出现相同的问题;给出了一个错误 我的代码怎么了 private void Popu

我正在开发一个程序,获取所有Clearcase区域(基本上是字符串)并将它们添加到组合框中。我比较组合框中新添加项中的现有clearcase区域字符串&如果找到它,那么我想选择它,但是因为第一次没有选择任何内容,所以selectedItem为null&selectedIndex=-1。 将0指定给selectedIndex时,出现错误-->对象未设置为对象的实例!!将某些内容分配给selectedItem时出现相同的问题;给出了一个错误

我的代码怎么了

    private void PopulateClearCaseRegionComboBox ( )
    {
        clearCaseRegionComboBox.Items.Clear();

        foreach ( Match token in RegularExpression.Match( "\\w+", clearTool.CmdExec( "lsregion" ) ) )
        {
            clearCaseRegionComboBox.Items.Add(token.Value.Trim());
            if (clearCaseRegion.ToUpperInvariant() == token.Value.Trim().ToUpperInvariant())
            {
                clearCaseRegionComboBox.SelectedIndex = clearCaseRegionComboBox.Items.IndexOf(token.Value.Trim());
            }
        }
        clearCaseRegionComboBox.Sorted = true;
    }

是否确定以下行返回有效的索引

clearCaseRegionComboBox.Items.IndexOf(token.Value.Trim())


是否确定以下行返回有效的索引

clearCaseRegionComboBox.Items.IndexOf(token.Value.Trim())


Add方法返回新添加项的索引。可以在if语句中使用该值

private void PopulateClearCaseRegionComboBox ( )
{
    clearCaseRegionComboBox.Items.Clear();

    foreach ( Match token in RegularExpression.Match( "\\w+", clearTool.CmdExec( "lsregion" ) ) )
    {
        int index = clearCaseRegionComboBox.Items.Add(token.Value.Trim());
        if (clearCaseRegion.ToUpperInvariant() == token.Value.Trim().ToUpperInvariant())
        {
            clearCaseRegionComboBox.SelectedIndex = index;
        }
    }
    clearCaseRegionComboBox.Sorted = true;
}

Add方法返回新添加项的索引。可以在if语句中使用该值

private void PopulateClearCaseRegionComboBox ( )
{
    clearCaseRegionComboBox.Items.Clear();

    foreach ( Match token in RegularExpression.Match( "\\w+", clearTool.CmdExec( "lsregion" ) ) )
    {
        int index = clearCaseRegionComboBox.Items.Add(token.Value.Trim());
        if (clearCaseRegion.ToUpperInvariant() == token.Value.Trim().ToUpperInvariant())
        {
            clearCaseRegionComboBox.SelectedIndex = index;
        }
    }
    clearCaseRegionComboBox.Sorted = true;
}

也许您可以在上下文中显示更多代码?我这样说是因为在您的代表代码中,此时似乎不可能得到这个错误。您已经使用该对象添加了第3项队列


您是否陷入组合框上会将clearCaseRegionComboBox变量指定为null的任何事件中?

也许您可以在上下文中显示更多代码?我这样说是因为在您的代表代码中,此时似乎不可能得到这个错误。您已经使用该对象添加了第3项队列


您是否陷入组合框上会将clearCaseRegionComboBox变量指定为null的任何事件?

通知:当您设置SelectedIndex或SelectedItem时,SelectedIndexChanged事件也会发生。所以,如果你有什么东西,也可以去看看。:)我已经花了好几个小时在它上面,因为您在调试时看不到它。

一个通知:当您设置SelectedIndex或SelectedItem时,SelectedIndexChanged事件也会发生。所以,如果你有什么东西,也可以去看看。:)我已经花了好几个小时研究它,因为调试时您看不到它