0

ComboBox1 位于隐藏面板 (panelSky)

ComboBox1.Text = "323";
panelSky.Visible = true; // combo doesn't have text "323'

请问是什么原因?
如果面板可见,我可以将 comboText 更改为“323”,无论“323”是否在项目列表中。

4

3 回答 3

0

也许组合类型(即 DropDownStyle)不合适......

尝试Combo1.Items.Add("323")改用,然后将索引设置为 0(第一项)

Combo1.SelectedIndex = 0 
于 2012-06-29T13:44:31.490 回答
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";
        }
    }
于 2012-06-29T14:08:24.487 回答
0

我对你的场景做了一个小测试。我创建了一个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;
 }
于 2012-06-29T14:21:59.957 回答