2

我想创建一个复选框,如果选中,那么它应该显示下拉菜单。如果未选中,则它应该隐藏下拉菜单。这就是我的代码在 Form.Designer.cs 文件中的样子。

        this.comboBox2.FormattingEnabled = true;
        this.comboBox2.Items.AddRange(new object[] {
        "Database 1",
        "Database 2",
        "Database 3"});
        this.comboBox2.Location = new System.Drawing.Point(165, 436);
        this.comboBox2.Name = "comboBox2";
        this.comboBox2.Size = new System.Drawing.Size(150, 21);
        this.comboBox2.TabIndex = 13;
        this.comboBox2.Text = "Database";

我在其他文件中的复选框代码是

 if  (checkBox1.CheckState == CheckState.Checked)
        {

        }
4

5 回答 5

6

利用Visible

this.comboBox2.Visible = false;

哪个会隐藏comboBox2

于 2013-05-03T15:06:47.643 回答
2
if (checkbox1.CheckState == CheckState.Checked)
{
 this.combobox2.Visible = True;
}

else (checkbox1.CheckState == CheckState.Unchecked)
{
 this.combobox2.Visible = False;
}
于 2013-05-03T15:10:02.423 回答
1

你会想要这样的东西

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
        if (checkBox1.Checked == true)
            comboBox2.Visible = true;

        if (checkBox1.Checked == false)
            comboBox2.Visible = false;

并且您将希望在属性选项卡中将 comboBox2 设置为 visible = false ,这应该可以正常工作。

于 2013-05-03T15:17:17.537 回答
0

或者只是一行:

comboBox2.Visible = (checkbox1.CheckState == CheckState.Checked)
于 2013-05-03T15:11:45.407 回答
0

如果有人遇到以下情况: dropwdownlist 的头部是隐藏的,设置为后yourCombo.visible = false;但列表本身仍然可见,那么您可以添加以下内容:

 yourComboBox.DroppedDown = false;
于 2018-01-20T17:56:07.303 回答