| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1758 人关注过本帖
标题:如何用一个按钮来控制多个panel显示??
只看楼主 加入收藏
李爆灯
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
如何用一个按钮来控制多个panel显示??
如题,如何用一个按钮来判断多个panel的显示呢?我的panel是一层叠一层的,求解答...
搜索更多相关主题的帖子: 如何 
2013-04-15 14:21
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:20 
你叠这么多层panel有什么用呢,看样子有些panel还是没有显示的么
2013-04-15 14:25
李爆灯
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-15
收藏
得分:0 
不是啦、我是在做一个注册界面,我们老师告诉我就是要用panel来做的...然后用一个button(下一步)来控制是否显示下一个panel...
2013-04-15 14:27
李爆灯
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-15
收藏
得分:0 
求解答啊...卡在这里了...
2013-04-15 14:46
李爆灯
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-15
收藏
得分:0 
回复 2楼 yhlvht
不是啦、我是在做一个注册界面,我们老师告诉我就是要用panel来做的...然后用一个button(下一步)来控制是否显示下一个panel...
2013-04-15 14:47
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:0 
好吧,你们老师是人才
1,你所有panel都不要使用停靠父容器
2,使用数组或集合来装panel
3,从数组或集合中取1个panel显示,取其余panel隐藏
2013-04-15 14:50
李爆灯
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-15
收藏
得分:0 
回复 6楼 yhlvht
我就直接在窗体上添加panel,并且让5个panel在同一个地方一层一层叠...这样算不算停靠父容器?
弱弱问个问题,要怎么用数组或者集合来添加...?
2013-04-15 14:57
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:0 
你一层层的用鼠标放上去不算停靠,停靠的意思就是控件的某一边,或全部边都绑定在另一个控件上,会随另一个控件一起变大缩小,也就是停靠以后,你用鼠标移不动那个控件的位置了

private Panel[] panel = new Panel[5];  //这句写在类里,不要写在某个方法里,因为你要在多个方法中使用这个变量,所以定义成全局的,数字表示你有多少个panel
private int flag = 0;                //定义一个下标,控制下一次显示数组中哪个panel               
在构造方法或Load事件中给数组赋值,注意panel的顺序
panel[0] = this.panel1;
panel[1] = this.panel2;
.....
另外设置初始显示哪个panel
this.panel1.Visible = true;
this.panel2.Visible = false;
.....

下一步按钮的Click事件
flag++;
if(flag >= panel.Length)
{
    flag = panel.Length - 1;
}
for(int i = 0; i < panel.Length; i++)
{
    if(i == flag)
    {
        panel[i].Visible = true;
    }
    else
    {
        panel[i].Visible = false;
    }
}

上一步按钮的Click事件
flag--;
if(flag < 0)
{
    flag = 0;
}
for(int i = 0; i < panel.Length; i++)
{
    if(i == flag)
    {
        panel[i].Visible = true;
    }
    else
    {
        panel[i].Visible = false;
    }
}
2013-04-15 15:19
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:0 
虽然你用鼠标放的不算停靠.但也难免会把一个panel放到另一个panel里面去了,那还是达不到效果
你最好是把控件摆好以后,再手工改一下Designer文件,确保各panel的父容器都是窗体
2013-04-15 15:26
李爆灯
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-4-15
收藏
得分:0 
回复 9楼 yhlvht
谢谢版主O(∩_∩)O~   我是第一次用panel,所以也很费解...  还有就是要怎么改Designer文件?
2013-04-15 15:36
快速回复:如何用一个按钮来控制多个panel显示??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017819 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved