在下拉列表中有这些类型 当我运行程序时 出现一个下拉列表 当我选择下拉列表中什么样的类型时
他就要加载什么样的控件 但我改变时 又要把原先的隐藏 加载一个新的想对应的控件 底下时当选择类型时加载的控件 但不知道 在改变下拉列表中值时 怎么隐藏 控件!!!
private void cmbSelect_SelectedIndexChanged(object sender, EventArgs e)
{
this.txtResult.Text = "";
if (this.cmbSelect.SelectedIndex == 0)//money类型
{
txtMoney = new TextBox();
this.Controls.Add(txtMoney);
txtMoney.Name = "txtMoney";
txtMoney.Size = new System.Drawing.Size(150, 21);
txtMoney.TabIndex = 3;
txtMoney.Location = new Point(label1.Location.X + 60, label1.Location.Y + 30);
txtMoney.TextChanged += new System.EventHandler(this.txtMoney_TextChanged);
}
//可当下拉列表又改变时他要加载一个checklistbox 控件 上面那个隐藏
if (this.cmbSelect.SelectedIndex == 2)//check
{
chkLSelect = new CheckedListBox();
this.Controls.Add(chkLSelect);
chkLSelect.CheckOnClick = true;
chkLSelect.FormattingEnabled = true;
chkLSelect.Name = "chkLSelect";
chkLSelect.Size = new System.Drawing.Size(120, 52);
chkLSelect.TabIndex = 8;
chkLSelect.Location = new Point(label1.Location.X + 60, label1.Location.Y + 30);
chkLSelect.SelectedIndexChanged += new System.EventHandler(this.chkLSelect_SelectedIndexChanged);
chkLSelect.Items.Add("中国");
chkLSelect.Items.Add("美国");
chkLSelect.Items.Add("日本"); //下拉列表又改变时上面两个都要隐藏
if (this.cmbSelect.SelectedIndex == 3)//datetime类型
{
dtpDateTime = new DateTimePicker();
this.Controls.Add(dtpDateTime);
dtpDateTime.Name = "dtpDateTime";
dtpDateTime.Size = new System.Drawing.Size(121, 20);
dtpDateTime.TabIndex = 0;
dtpDateTime.Location = new Point(label1.Location.X + 60, label1.Location.Y + 30);
dtpDateTime.ValueChanged += new System.EventHandler(this.dtpDateTime_ValueChanged);
this.txtResult.Text = dtpDateTime.Value.ToString();
}
}
他就要加载什么样的控件 但我改变时 又要把原先的隐藏 加载一个新的想对应的控件 底下时当选择类型时加载的控件 但不知道 在改变下拉列表中值时 怎么隐藏 控件!!!
private void cmbSelect_SelectedIndexChanged(object sender, EventArgs e)
{
this.txtResult.Text = "";
if (this.cmbSelect.SelectedIndex == 0)//money类型
{
txtMoney = new TextBox();
this.Controls.Add(txtMoney);
txtMoney.Name = "txtMoney";
txtMoney.Size = new System.Drawing.Size(150, 21);
txtMoney.TabIndex = 3;
txtMoney.Location = new Point(label1.Location.X + 60, label1.Location.Y + 30);
txtMoney.TextChanged += new System.EventHandler(this.txtMoney_TextChanged);
}
//可当下拉列表又改变时他要加载一个checklistbox 控件 上面那个隐藏
if (this.cmbSelect.SelectedIndex == 2)//check
{
chkLSelect = new CheckedListBox();
this.Controls.Add(chkLSelect);
chkLSelect.CheckOnClick = true;
chkLSelect.FormattingEnabled = true;
chkLSelect.Name = "chkLSelect";
chkLSelect.Size = new System.Drawing.Size(120, 52);
chkLSelect.TabIndex = 8;
chkLSelect.Location = new Point(label1.Location.X + 60, label1.Location.Y + 30);
chkLSelect.SelectedIndexChanged += new System.EventHandler(this.chkLSelect_SelectedIndexChanged);
chkLSelect.Items.Add("中国");
chkLSelect.Items.Add("美国");
chkLSelect.Items.Add("日本"); //下拉列表又改变时上面两个都要隐藏
if (this.cmbSelect.SelectedIndex == 3)//datetime类型
{
dtpDateTime = new DateTimePicker();
this.Controls.Add(dtpDateTime);
dtpDateTime.Name = "dtpDateTime";
dtpDateTime.Size = new System.Drawing.Size(121, 20);
dtpDateTime.TabIndex = 0;
dtpDateTime.Location = new Point(label1.Location.X + 60, label1.Location.Y + 30);
dtpDateTime.ValueChanged += new System.EventHandler(this.dtpDateTime_ValueChanged);
this.txtResult.Text = dtpDateTime.Value.ToString();
}
}
控件名称.Visible = false;
{
this.txtResult.Text = "";
// 判断之前先清理一遍。
if (txtMoney != null)
{
txtMoney.Dispose();
txtMoney = null;
}
if (chkLSelect != null)
{
chkLSelect.Dispose();
chkLSelect = null;
}
if (dtpDateTime != null)
{
dtpDateTime.Dispose();
dtpDateTime = null;
}
//....
}