C# 4.0 组合框项目清除方法中的索引超出范围

C# 4.0 组合框项目清除方法中的索引超出范围,c#-4.0,combobox,C# 4.0,Combobox,我的组合框列出了数据库中的记录。我的组合框如下所示: <ComboBox Grid.Column="3" Grid.Row="1" Height="30" VerticalAlignment="Center" Name="comboBoxEmp" SelectionChanged="comboBoxAdministrator_SelectionChanged" BorderBrush="{x:Null}" Foreground="#FFF90C0C" /> 当我使用以下方法重置组

我的组合框列出了数据库中的记录。我的组合框如下所示:

<ComboBox Grid.Column="3" Grid.Row="1" Height="30" VerticalAlignment="Center"  Name="comboBoxEmp" SelectionChanged="comboBoxAdministrator_SelectionChanged" BorderBrush="{x:Null}" Foreground="#FFF90C0C" />
当我使用以下方法重置组合框的内容时,出现错误: “索引超出范围。必须为非负或小于集合大小。参数名称:索引”


您是否已在调试中运行,并在名称和数字上设置断点。一个原因可能是它正在拉一个空值。不。事实上,我对这个过程并不熟悉。但事实上,如果组合框元素已经为null,那么我们将激发comboBoxEmp.Items.Clear();然后它就可以触发该异常。但它显示了每个实例的错误。
 void FillComboEmpName()
        {

            MySqlConnection conn4;
            conn4 = new MySqlConnection("server=localhost;uid=root;database=newcompanydatabase;pwd=Admin@123;");
            string Query = "select * from nWorksUser";
            MySqlCommand cmd2 = new MySqlCommand(Query, conn4);
            try
            {
                conn4.Open();
                MySqlDataReader rdr;

                rdr = cmd2.ExecuteReader();
                while (rdr.Read())
                {
                    string EmpNo = rdr.GetInt32("uid").ToString();
                    string fname = rdr.GetString("fname");
                    string lname = rdr.GetString("lname");
                    comboBoxEmp.Items.Add(EmpNo + "-" + fname + " " + lname);
                }
            }

            catch (Exception ex1)
            {
                MessageBox.Show(ex1.Message);
            }

        }
public Reset()
{
 comboBoxEmp.Items.Clear();
 FillComboEmpName();
}