这个只是布局问题,winform和wpf都可以,如果仿360,wpf效果更好
原理很简单,点击按钮的时候,把该按钮需要打开的窗体作为子控件放在显示区域中
举个栗子:
点击按钮一打开杀毒界面,那么就是显示区域.Content = new 杀毒界面();
不需要用panel控件吗?
@莫问: 所谓显示区域是指任意一种布局控件,在winform中就是容器,可以是panel,groupbox,tabcontrol等等,具体根据你的需要来设置,如 panel1.Controls.Add(new 杀毒界面())
@WuRang: 如果想要实现360点一个按钮实现一个界面,那是不是需要隐藏啊,如果需要同时进行的话,隐藏了之后能继续工作啊
@莫问: 如果是这样,就不用每次都new界面,程序起来的时候把所有的子界面都new出来放到变量中,
杀毒界面 shadu = new 杀毒界面()
然后panel1.Controls.Add(shadu)
等你不用的时候panel1.Controls.Remove(shadu) 只是让shadu不在panel显示,但是它还是存在于程序中,不影响shadu运行
@WuRang: 嗯 非常感谢你那么有耐心的帮助我这个菜鸟,万分感谢
@莫问: - -!同是天涯菜鸟人……
@WuRang:你比我高多了,你是小龙虾
@WuRang: 问下 比如我用3个panel,而且都是一一覆盖的关系,突然我想修改第一个被覆盖的怎么样能去设置第一个
@莫问: 不太明白3个panel覆盖是什么意思
@WuRang: 就是点第一个按钮的时候我放了一个panel控件,用于显示第一按钮的界面,然后我又在相同的位置放了第二个panel控件,用于显示第二个按钮的界面,接着我在相同的位置放了第三个panel控件,用于显示第三个按钮的界面。。是这样去显示么....
@莫问: 是这样,三个界面都是自定义控件,你可以自定义几个控件,做成不同的界面,然后在主程序给三个不同的自定义控件实例化,然后需要的时候把他们的对象放到panel就行了,而不是说用n个panel。比如点击按钮一,先清空panel里面的control。然后把自定义控件一的对象加到panel的control里,按钮二,三也相同