如何在Windows窗体应用程序中进行下拉菜单

时间:2019-01-28 11:38:06

标签: c# winforms dropdown

我需要在Windows窗体中制作一个菜单面板。 (我将在下面附上一个示例)。 在boostrap中,使用下拉菜单非常容易。但是我需要在Windows窗体中制作它。

注意: 我有一个userControl表单,并在其中填充了一个高度为30的标题组件(类型为userControl),在标题组件下,我还有另一个主体组件(类型为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

0 个答案:

没有答案