程序开发 > C# > Winform > 正文

C# Winform 左侧菜单右边显示、子窗体显示在主窗体(子窗体当控件添加到Panel)

亮术网 2020-08-09 本网原创

Winform 也可以像网站一样左侧显示菜单右边显示点击菜单的子窗体(网页),不过子窗体不能直接显示在主窗体中,因为窗体不是控件。那么能不能把窗体设置为控件?答案是肯定的,只要把窗体的 Dock 属性设置为 Fill,窗体就成为了控件。窗体转为控件后,就可以像其它控件一样随意添加到 Panel 控件中,也就实现了 Winform 左侧菜单右边显示。

 

知道了左侧菜单右边显示、子窗体显示在主窗体的方法,接着看用代码怎么实现,具体步骤和代码如下:

1、拖一个 Panel控件到主窗体左边,用于显示左侧菜单,命名为 panelLeftMenu。

2、再拖一个 Button控件到 panelLeftMenu 中,保持默认名称 Button1。

3、最后拖一个 Panel控件到主窗体右边,命名为 PanelRightMain。

 

4、新建一个子窗体,文件名为 SubForms.cs;为了便于看出效果,往子窗体中拖一个 Label 和 TextBox 控件。

5、双击 Button1,打开后台代码文件,在 button1_Click(object sender, EventArgs e) 方法中添加把子窗体显示在主窗体的代码,详细实现如下:

private void button1_Click(object sender, EventArgs e)
  {
    SubForms sub = new SubForms();
    sub.TopLevel = false;
    sub.Dock = DockStyle.Fill;//把子窗体设置为控件

  sub.FormBorderStyle = FormBorderStyle.None;
    PanelRightMain.Controls.Add(sub);
    sub.Show();
  }

代码运行效果图如下:

C# Winform 左侧菜单右边显示、子窗体显示在主窗体(子窗体当控件添加到Panel)

上述 C# Winform 左侧菜单右边显示子窗体是其中一个方法,还有其它方法也可以实现,下次再继续分享。