ComboBox1位于隐藏面板(panelSky)
上ComboBox1.Text = "323";
panelSky.Visible = true; // combo doesn't have text "323'
请问是什么原因? 如果面板可见,我可以将comboText更改为“323”,无论“323”是否在项目列表中。
答案 0 :(得分:0)
也许Combo Type(即DropDownStyle)不合适......
尝试改为使用Combo1.Items.Add("323")
,然后将索引设置为0(第一项)
Combo1.SelectedIndex = 0
答案 1 :(得分:0)
如果我理解正确,Combox1会存在于Type Panel的容器中
所以下面的代码我的诀窍
if (comboBox1.Parent.Visible)
{
comboBox1.Text = "323";
}
更新:了解有关您的方案的更多信息
button1位于可见的Panel1中,而combox1位于Panel2中,不可见
private void button1_Click(object sender, EventArgs e)
{
if (comboBox1.Parent.Visible)
{
comboBox1.Text = "323";
}
}
答案 2 :(得分:0)
我对你的场景进行了一些测试。我创建了一个带有面板和winforms
的新combobox
应用程序。在表单加载上,我将面板的可见性设置为false,并将combobox
设置为"323"
,然后将面板的可见性设置为true,"323"
仍然存在。这就是我所做的:
pnlSky.Visible = false;
comboBox1.Text = "323";
pnlSky.Visible = true;
当combobox
不可见时,在设置panel
值时,标记或代码中必定存在导致问题的内容。您可以发布标记以及在设置combobox
的值之前和之后发生的代码吗?
根据您对@HatSoft
关于在另一个combobox
上更新button
的{{1}}的评论,我运行了以下代码,但仍然更新了隐藏的panel
}
combobox