在下面的代码中,我有一个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)
{
}
答案 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
}
}