亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用復選框動態添加組合框

使用復選框動態添加組合框

C#
呼喚遠方 2022-09-04 16:29:51
我正在嘗試在單擊復選框時添加組合框。我使用的代碼如下。就目前而言,我可以讓它在已經存在的組合框中移動,但它不會創建一個新的組合框。        private void checkBox1_CheckedChanged(object sender, EventArgs e)    {        // Determine the CheckState of the check box.          if (checkBox1.CheckState == CheckState.Checked)        {              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;        }    }    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;        }    }
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

解決方法是注意要將語句放入哪個函數。組合框的設置(范圍,位置等)將在條件下的函數中。這些將與 和 一起,以防萬一它最終落后于某些東西。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;

}

同時,在函數中,您必須實例化組合框并添加它。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;

        }

    }

如果您想在取消選中復選框后刪除組合框,只需添加


        if (checkBox1.CheckState == CheckState.Unchecked)

        {

            groupBox1.Controls.Remove(combo);

            Controls.Remove(combo);

            combo.Items.Clear();

        }

進入函數。確保放置,否則它會將組合框的新實例的范圍添加到舊實例中。private void checkBox1_CheckedChanged(object sender, EventArgs e)combo.items.Clear()


查看完整回答
反對 回復 2022-09-04
  • 1 回答
  • 0 關注
  • 108 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號