日期:2014-05-17  浏览次数:20833 次

动态生成控件和两个下拉框的联动
winform窗体程序
我在后台程序中动态生成了两个下拉框

//第一个下拉框
ComboBox cbx1 = new ComboBox();
Point p1 = new Point(150, 30 * flag);
cbx1 .Location = p1;
cbx1 .SelectedValueChanged += new System.EventHandler(cbx1 _SelectedValueChanged);
this.Controls.Add(cbx1);
cbx1.DataSource = dataTable;

//第2个下拉框
ComboBox cbx2 = new ComboBox();
..
this.Controls.Add(cbx2);


现在这两个下拉框都绑定了数据源,显示的时候都有值了
当第一个下拉框改变值的时候,第2个下拉框也动态改变
由于在函数里

        private void cbx1_SelectedValueChanged(object sender, EventArgs e)
        {
            ComboBox cbx1 = (ComboBox)sender;
            string strID = cbx1.SelectedValue.ToString();
            
            DataSet ds = dbSql.GetID(strID);
            
            //通常情况下这里用cbx2.DataSource = ds.Tables[0]就能动态改变第2个下拉框的联动值了,可是这里cbx2是动态生成的,这个函数里取不到cbx2啊



请教,上面cbx1_SelectedValueChanged事件里如何对cbx2绑定数据源?



winform

------解决方案--------------------
将cbx2设成全局变量.
------解决方案--------------------
ComboBox cbx2 = new ComboBox();
cbx2.Name = "cbx2";



this.Controls.Find("cbx2");