2013-03-05 6 views
3

У меня есть главное меню, и когда я нажимаю одну из кнопок, панель меню должна скрываться, а щелчок должен открываться. Это работает для одной кнопки, но для моей второй это не так. Ну, это показывает панель, я думаю, но она пуста, хотя у меня есть что-то в панели.C# Панель не видна

код довольно прост, так что я не вижу, где проблема

public Form1() 
{ 
     InitializeComponent(); 
     menu_botStrip.Text = DateTime.Now.ToString("dd/mm/yyyy h:mm tt"); 
     panel_startMenu.Show(); 
     panel_informationService.Hide(); 
     panel_customerManagement.Hide(); 
} 

private void btn_informationService_Click(object sender, EventArgs e) 
{ 
    panel_startMenu.Hide(); 
    panel_informationService.Show(); 
} 

    private void btn_customerManagement_Click(object sender, EventArgs e) 
    { 

     panel_startMenu.Hide(); 
     panel_customerManagement.Show(); 
    } 
+0

@Michael Так как я нажимаю на информационный сервис, чтобы вернуться в меню снова, он будет скрыт. И когда я выбрал customerManagement из главного меню, он все еще не работает – loomie

ответ

21

Убедитесь, что вы не ставили вторую панель в первой панели. Если вы перетащили панели из панели инструментов, есть большая вероятность этого.

Чтобы убедиться, откройте окно Document Outline (View-> Other Windows-> Document Outline) и посмотрите на соотношение между панелями. Убедитесь, что они не содержатся друг в друге. Они должны быть на одном уровне гнездования.

Если это так:

Wrong

затем выберите внутреннюю панель и нажмите кнопку со стрелкой влево, над окном. Затем он должен выглядеть следующим образом:

Right

, который является правильным.

+0

Да, в этом была проблема ... Как мне это предотвратить? – loomie

+0

Вы также можете использовать UserControls для разработки своего контента отдельно - и добавить их по коду в родительскую форму. Это не поможет, если вы поместите их вручную дизайнеру, потому что вы можете случайно добавить userControls в другой userControl, но это помогает при работе над их содержимым: – Michael

+0

Если бы я нашел это раньше! .. –

0

не должно быть первой панели (информационный сервис) будет скрыта снова? Может быть, есть уродливое наложение, если оба показаны в то же время ...

private void btn_informationService_Click(object sender, EventArgs e) 
{ 
    panel_startMenu.Hide(); 
    panel_customerManagement.Hide(); 
    panel_informationService.Show(); 
} 

private void btn_customerManagement_Click(object sender, EventArgs e) 
{ 
    panel_startMenu.Hide(); 
    panel_informationService.Hide(); 
    panel_customerManagement.Show(); 
} 
-1

Я согласен с @ MD.Unicorn, вы должны быть осторожны при заказе этих панелей в своей форме (контекст слоя). Это означает, что если ваша панель содержит другую панель или панели - после скрытия определенного родителя вы также скроете и все дочерние компоненты.

Смежные вопросы