1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
解決方法是注意要將語句放入哪個(gè)函數(shù)。組合框的設(shè)置(范圍,位置等)將在條件下的函數(shù)中。這些將與 和 一起,以防萬一它最終落后于某些東西。CheckChangedif checkedgroupbox.controls.add();combo.BringToFront();
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
// Determine the CheckState of the check box.
if (checkBox1.CheckState == CheckState.Checked)
{
groupBox1.Controls.Add(combo);
combo.Items.AddRange(new object[] {
"Item 1",
"Item 2",
"Item 3",
"Item 4",
"Item 5",
"Item 6"});
combo.Location = new System.Drawing.Point(19, 123);
combo.Name = "combo";
combo.Size = new System.Drawing.Size(121, 21);
combo.TabIndex = 0;
combo.SelectedIndexChanged += new System.EventHandler(this.combo_SelectedIndexChanged);
combo.BringToFront();
this.AllowDrop = false;
}
同時(shí),在函數(shù)中,您必須實(shí)例化組合框并添加它。Click
private void checkBox1_Click(object sender, System.EventArgs e)
{
switch (checkBox1.CheckState)
{
case CheckState.Checked:
ComboBox combo = new ComboBox();
Controls.Add(combo);
break;
case CheckState.Unchecked:
break;
case CheckState.Indeterminate:
break;
}
}
如果您想在取消選中復(fù)選框后刪除組合框,只需添加
if (checkBox1.CheckState == CheckState.Unchecked)
{
groupBox1.Controls.Remove(combo);
Controls.Remove(combo);
combo.Items.Clear();
}
進(jìn)入函數(shù)。確保放置,否則它會(huì)將組合框的新實(shí)例的范圍添加到舊實(shí)例中。private void checkBox1_CheckedChanged(object sender, EventArgs e)combo.items.Clear()
- 1 回答
- 0 關(guān)注
- 105 瀏覽
添加回答
舉報(bào)