Как сделать вид выпадающего в Windows Form приложения - PullRequest
0 голосов
/ 28 января 2019

Мне нужно сделать панель меню в окнах форм.(Я приложу образец ниже).В boostrap очень легко с выпадающими.Но мне нужно сделать это в формах Windows.

Внимание: у меня есть форма userControl, и я заполняю ее компонентом заголовка (типа userControl) высотой 30, под компонентом заголовка у меня есть другое телокомпонент (типа usercontrol).

До сих пор я пытался добавить панель высотой 80 к компоненту заголовка, который заполнен «Меню 1», «Меню 2», «Меню 3», «Меню 4»,Видимость панели ложна при запуске.Всякий раз, когда я нажимаю кнопку «показать кнопку», ее видимость устанавливается в значение true.Однако содержимое панели отображается не полностью, так как высота компонента меньше высоты панели.

  1. Таким образом я добавляю компоненты заголовка и тела к главной панели

        mainForm.SuspendLayout();
        foreach (var userControl in mainForm.Controls.OfType<UserControl>())
    
        {
    
            mainForm.Controls.Remove(userControl);
    
        }
        mainForm.Controls.Clear();
        mainForm.Controls.Add(new HeaderComponentForm());
        newForm.Location = new System.Drawing.Point(0,30);
        mainForm.Controls.Add(newForm);
        mainForm.ResumeLayout();
    
  2. Это событие нажатия кнопки «Показать»

    private void pbMenu_Click(object sender, EventArgs e)
    {
        if (pnlMenu.Visible)
        {
            pnlMenu.Visible = false;
        }
        else
        {
            pnlMenu.Visible = true;
            pnlMenu.BringToFront();
        }
    }
    

Я хочу, чтобы панель открывалась всякий раз, когда кнопка «Показать»"щелкается по всей ширине, не растягивая высоту компонента заголовка.This is what I have right now. The white (in circle) is the panel I want to show at full height

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...