Winfrom c# 两个ComboBox互相联动

第一次写winform程序遇到一个头疼到问题就是两个comboBox互相联动绑定,开始用comboBox1_SelectedIndexChanged事件,结果绑定comboBox1的时候,就执行comboBox1_SelectedIndexChanged这个事件。很头疼。

后来发现微软还提供了一个comboBox1_DropDownClosed事件:当关闭组合框下拉部分时发生,当用程序改变SelectedIndex时就不会出现两个comboBox相互改对方到Index并触发comboBox1_SelectedIndexChanged,

后来将SelectedIndexChanged事件全部换成DropDownClosed,就可以实现两个comboBox互相联动了;

TextChanged事件和TextUpdate也是一个对用程序改变其值敏感,一个不敏感。

代码贴出来:

 private void ComboBox_Load()
        {
            Maticsoft.BLL.Province_BLL pvb = new Maticsoft.BLL.Province_BLL();
            //this.comboBox1.DataSource = pvb.GetAllList().Tables[0];
            //this.comboBox1.DataSource =pvb.GetList_DropDownList("",500);
            this.comboBox1.DisplayMember = "Province";
            this.comboBox1.ValueMember = "ID";
            this.comboBox1.DataSource = pvb.GetList_DropDownList("", 500).Tables[0].DefaultView;
           // this.comboBox1.SelectedIndex = -1;
        }
        private void FormBtownArea_Load(object sender, EventArgs e)
        {
          
                ComboBox_Load();
            
        }
        private void comboBox1_DropDownClosed(object sender, EventArgs e)
        {
            try
            {
                //this.CBB_Town.Items.Clear();
                Maticsoft.BLL.Downtown_BLL db = new Maticsoft.BLL.Downtown_BLL();

                this.CBB_Town.DisplayMember = "Downtown";
                this.CBB_Town.ValueMember = "ID";
                this.CBB_Town.DataSource = db.GetList_DropDownList("ProvinceID=" + this.comboBox1.SelectedValue.ToString()).Tables[0].DefaultView;
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            } 
        }


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值