панель winforms скрыть и показать - PullRequest
0 голосов
/ 01 декабря 2011

У меня две панели, занимающие одинаковое пространство в одной стороне контейнера splitview. Я хочу динамически отображать или скрывать одну или другую панель.

Подходы, которые я пробовал до сих пор:

if (treeView1.SelectedNode.Name.Contains("cat")) {
    menuItemPanel.SendToBack();
    foreach (Control control in menuItemPanel.Controls)
        control.SendToBack();
    menuItemPanel.Visible = false;
    categoryPanel.Hide();

    categoryPanel.Visible = true;
    categoryPanel.BringToFront();
    foreach (Control control in categoryPanel.Controls)
        control.BringToFront();
    categoryPanel.Show();

    // ...
}

и обратное для остального случая. Ни один из них, кажется, не работает. То есть панель категорий отображается при выборе узла категории, но на экране отображается пустое пространство при выборе узла menuItem.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

Код не имеет особого смысла, переупорядочивание элементов управления на панелях - это не то, что вы хотите сделать.Также звучит, что код в предложении else не работает, код, который вы не опубликовали.Сделайте это вместо этого (предположение):

bool categorySelected = treeView1.SelectedNode.Name.Contains("cat");
menuItemPanel.Visible = !categorySelected;
categoryPanel.Visible = categorySelected;
0 голосов
/ 01 декабря 2011

попробуйте

   if (treeView1.SelectedNode.Name.Contains("cat"))
    {
         menuItemPanel.Visible = false;  
         categoryPanel.Visible = true;   
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...