在Form里面有三个大小一样的Panel,
有三个按钮,,点击对应的按钮,将其对应的Panel显示出来,其它两个Panel就会隐藏或者盖住。
我用BringToFront()这个方法,实现不到这种效果。。
大家有什么办法

解决方案 »

  1.   

    button1_click()
    {
    panel1.Show()
    panel2.Hide()
    panel3.Hide()
    }
      

  2.   

    我知道楼上的那种做法,可是我觉得麻烦原本我以为用BringToFront()这个方法,就可以直接把某个Panel居顶,自然其它的就会被复盖。而不用一个个把Panel隐藏起来。。
      

  3.   

    你使用BringToFront()改变的是控件z顺序。也就是绘制的顺序。
    而在dotnet中的Z顺序好像没有那么方便使用。所以我都用show、hide来实现。
      

  4.   

    除了你说的那种方法还有没有其它的。。因为我有十几个Panel,将来会更多。。那样我都得在每个按钮事件里都加上show、hide的属性值,太麻烦了。。
      

  5.   

    楼主难道把不同的功能模块写在Panel里?lol这样的话是很不好滴....最好做成控件,需要的时候加载...
      

  6.   

    是哦。。谢谢楼上的提醒。。以前做ASP.NET都用用户控制,,现在做WinForm怎么一时忘记了。。但是用控件也会存在这个问题吧?