ComboBox1 位于隐藏面板 (panelSky)
ComboBox1.Text = "323";
panelSky.Visible = true; // combo doesn't have text "323'
请问是什么原因?
如果面板可见,我可以将 comboText 更改为“323”,无论“323”是否在项目列表中。
也许组合类型(即 DropDownStyle)不合适......
尝试Combo1.Items.Add("323")
改用,然后将索引设置为 0(第一项)
Combo1.SelectedIndex = 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";
}
}
我对你的场景做了一个小测试。我创建了一个winforms
带有面板和combobox
. 在表单加载时,我将面板的可见性设置为 false 并将其设置combobox
为"323"
,然后将面板的可见性设置为 true 并且"323"
仍然存在。这就是我所做的:
pnlSky.Visible = false;
comboBox1.Text = "323";
pnlSky.Visible = true;
在不可见combobox
的情况下设置值时,您的标记或代码中一定存在导致问题的内容。panel
您可以发布标记以及设置值之前和之后发生的代码combobox
吗?
根据您@HatSoft
对更新combobox
from button
another的评论panel
,我运行了以下代码,它仍然更新了隐藏的combobox
private void button1_Click(object sender, EventArgs e)
{
combobox1.Text = "323";
pnlSky.Visible = true;
}