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对更新comboboxfrom buttonanother的评论panel,我运行了以下代码,它仍然更新了隐藏的combobox
private void button1_Click(object sender, EventArgs e)
{
combobox1.Text = "323";
pnlSky.Visible = true;
}