WinForm:利用多层Panel重叠实现同区显示不同内容

来源:互联网 发布:淘宝低于3折不计销量 编辑:程序博客网 时间:2024/06/18 15:02

 

 

正如效果图:(本图是由我全程开发的一个团队管理系统,功能相当强大,以至于想在还没写完呢,呜呜!)

 

第一部分:WinForm页面布局

题外话不多说:首先添加n个导航控件(比如button或者linkbutton等都可以,这里我们就用n个linkbutton吧),然后在winform中要显示内容的区域添加panel(这里请一个一个添加),也就是说先加个panel1,然后在里面放内容(内容自己发挥吧),然后复制panel1的size尺寸,在拖放个panel2(赋值size尺寸,和panel进行重叠)。。。依此类推,进行winform页面布局。

 

第二部分:核心实现代码

在后台代码中定义两个方法,实现动态调用。

............

private void PanelStartShow()

{

  panel1.Visible=panel2.Visible=......Panel(n).Visible=false;

}

private void PanelNowShow(Panel panelName)

{

    switch(panelName)

   {

       case panel1:

               panel1.Visible=true;

               break;

       case panel2:

               panel1.Visible=Panel2.Visible=true;

               break;

       case panel3:

               panel1.Visible=panel2.Visible=panel3.Visible=true;

               break;

       。

       。

       。

       case panel(n):

               panel1.Visible=panel2.Visible=panel3.Visible=.....panel(n).Visible=true;

               break;

       .........

   }

}

依次双击inkbutton,进入他们的单击事件中:

private void linkButton1_Click(object sender,EventArgs e)

{

    PanelStartShow();

    PanelNowShow(panel1);

}

private void linkButton2_Click(object sender,EventArgs e)

{

  

    PanelStartShow();

    PanelNowShow(panel2);

}

private void linkButton3_Click(object sender,EventArgs e)

{

  

    PanelStartShow();

    PanelNowShow(panel3);

}

................

private void linkButton(n)_Click(object sender,EventArgs e)

{

  

    PanelStartShow();

    PanelNowShow(panel(n));

}

.......

OK啦!

原创粉丝点击