Winform ComboBox 绑定数据源 触发SelectedIndexChanged事件 处理办法

最近��Winform程式,�l�FWinform中的ComboBox和Web中的Dropdown相差很大,在ComboBox 绑定数据源 ��触发SelectedIndexChanged事件,很困�_,查找了�Y料,�理方法大�w分�槿��N

1.添加一个标记位,在绑定前设置为false,绑定完成后设置回true(��人�X得用起�淼暮芷婀�)

void BindComboBox()
{
flag=false;
ComboxBox1.ValueMember="ValueColumn";
ComboxBox1.DisplayMember="DisplayColumn";
ComboxBox1.DataSource=DataTable1;
flag=true;
}

privatevoid ComboxBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(flag)
{
//Do something
}
}

2.绑定前,将SelectedIndexChanged的委托去掉,等绑定完成后,再添加事件委托(�X得比�^�}�s)

void BindComboBox()
{ //去除委托
ComboBox1.SelectedIndexChanged -= new EventHandler(ComboBox1_SelectedIndexChanged);
ComboBox1.DataSource = null;
ComboBox1.ValueMember = "ValueColumn";
ComboBox1.DataSource = DataTable1;
//添加委托
ComboBox1.SelectedIndexChanged += new EventHandler(ComboBox1_SelectedIndexChanged);
ComboBox1.DisplayMember = "DisplayColumn";
}

3.判�嗍欠袷沁x���B(最後本人用的)

privatevoid ComboxBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(ComboxBox1.ContainsFocus)
{
//Do something
}
}

你可能感兴趣的:(combobox,WinForm)