当前位置:编程学习 > C#/ASP.NET >>

comboBox SelectedValue 问题请教高手

我的目的:动态创建行容器panel,在每行创建Combobox,并依据数据源进行赋值(先给固定值)。
代码如下:
   private void Inform()
        {
            // 
            // panel1
            // 
            System.Windows.Forms.Panel  panel1 = new System.Windows.Forms.Panel();         
            panel1.Location = new System.Drawing.Point(85, 112);
            panel1.Name = "panel11";
            panel1.Size = new System.Drawing.Size(200, 100);
            panel1.TabIndex = 0;
            // 
            // comboBoxBase1
            //
            ComboBox comboBoxBase1 = new  ComboBox();
            comboBoxBase1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            comboBoxBase1.FormattingEnabled = true;
            comboBoxBase1.Location = new System.Drawing.Point(15, 14);
            comboBoxBase1.Name = "comboBoxBase11";
            comboBoxBase1.Size = new System.Drawing.Size(121, 20);
            comboBoxBase1.TabIndex = 0;

            panel1.Controls.Add(comboBoxBase1);

            DataTable dtUnit = new T_Unit(this.mClientApp, 0).GetT_UnitPublicList(false).Copy();
            comboBoxBase1.DataSource = dtUnit;
            comboBoxBase1.DisplayMember = "Unit";
            comboBoxBase1.ValueMember = "UnitID";
            //this.Refresh(); 
            comboBoxBase1.SelectedValue = "1003";//是无效的
 
           
            this.Controls.Add(panel1);

            //comboBoxBase1.SelectedValue = 1003;//是有效的
            
        }

如果我将SelectedValue放在this.Controls.Add(panel1);之前 赋值是为空的,如果是放在此之后,是有效的。

如果我一定要希望放在此之前赋值,有什么办法吗?
纠结一个晚上了 --------------------编程问答-------------------- combobox没有加入界面之前是不能设置SelectedValue的,你为何要在加入之前设置?如果不想显示,可以先把panel1.Visible=false,这样就不显示出来, --------------------编程问答-------------------- 同意楼上所说。 --------------------编程问答--------------------
引用 1 楼 stonespace 的回复:
combobox没有加入界面之前是不能设置SelectedValue的,你为何要在加入之前设置?如果不想显示,可以先把panel1.Visible=false,这样就不显示出来,

1234
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,