选择的索引更改在Combobox中填充值时调用

时间:2015-06-13 12:16:22

标签: c# winforms combobox

在下面的代码中,我有一个combobox。当我尝试填充combobox中的值时,加载时会调用SelectedIndexChanged而不选择值combobox

public void BindCombobox()
{    
    Software pd = new Software();
    DataSet dsProj = pd.UserID();
    cbValue.DataSource = dsProj.Tables[0];//Calling SelectedIndexChanged
    cbValue.DisplayMember = "ProjectName";
    cbValue.ValueMember = "ProjectID";
}

private void cbValue_SelectedIndexChanged(object sender, EventArgs e)
{
}

1 个答案:

答案 0 :(得分:0)

我猜你必须使用布尔变量。它可能对你有帮助,我用这种方法来避免这个问题 做下面给出的事情。

1)声明具有全局范围的布尔值,将其设置为false。 2)在绑定组合框集合boolean=false之前,并且在完成绑定之后设置boolean=true。 2)现在在combobox_selectionChangeEvent的第一行,检查布尔值为true或false的条件。如果它是真的,那么做其余的事情。

像这样......

boolean flag=false

public void BindCombobox()
{
    Software pd = new Software();
    DataSet dsProj = pd.UserID();
    flag=false;
    cbValue.DataSource = dsProj.Tables[0];//Calling SelectedindexChange
    cbValue.DisplayMember = "ProjectName";
    cbValue.ValueMember = "ProjectID";
    flag=true;
}

private void cbValue_SelectedIndexChanged(object sender, EventArgs e)
{
    if(flag==true)
    {
        ... //rest of the code
    }
}