c# 两个panel
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 两个panel相关的知识,希望对你有一定的参考价值。
我要实现的是form上有两个按钮,有一个区域为panel区,有两个panel。当点按钮1时,panel区域显示panel1,panel2隐藏;当点按钮2时,panel区域显示panel2,panel1隐藏。
可是现在是:
当点按钮1时,panel区域显示panel1,panel2隐藏;当点按钮2时,panel1与panel2全部隐藏。
我知道是把panel2放在panel1里了 可是怎么不把他们放在一起呢?大小还一般大。
*****(两个panel区域一般大小,而且在同一位置)。 ******
bomanna 你怎么骂人!素质真低!
panel1和panel2可以分开来放置。把Panel2拖出来就可以了。
两个panel可以是垂直放置的,当上一个Panel隐藏时,下面的panel会自动移动到上面隐藏的Panel位置。 参考技术B C/S模式还是B/S模式啊?
C/S模式的话 建议你用tableControl那个控件
B/S模式的话 两个panel并排放就好 页面会自动调整显示位置的 参考技术C //splitContainer1.Panel1放你的Panel1,2就放panel2
//form.Load事件中
this.splitContainer1.Panel2Collapsed = true;
//button1.click事件中
this.splitContainer1.Panel1Collapsed = false;
this.splitContainer1.Panel2Collapsed = true;
//button2.click...
this.splitContainer1.Panel2Collapsed = false;
this.splitContainer1.Panel1Collapsed = true; 参考技术D 你不要在设计器里用鼠标拖,那样太难控制了
你到代码里去手工写一下就好了~
C#控制切换显示两个Panel内容
如果两个panel重合在一起,点击不同按钮切换显示不同的panel,需要xxx.BringToFront();
1、首先让两个panel的visible都为false,
在加载页面load方法里可以让一个panel先显示出来
private void Ceshi1_Load(object sender, EventArgs e) { this.panel1.Visible = true; }
切换
private void button1_Click(object sender, EventArgs e) { this.panel1.Visible = true; this.panel2.Visible = false; } private void button2_Click(object sender, EventArgs e) { this.panel2.Visible = true; this.panel1.Visible = false; this.panel2.BringToFront(); }
2、有时候把panel2直接用鼠标拖到panel1上,会使两个panel融合在一起,
可以将panel2放在一个空白地方,点击按钮切换时,让位置相等即可
private void button2_Click(object sender, EventArgs e) { this.panel2.Visible = true; this.panel1.Visible = false; this.panel2.BringToFront();
panel1.Location = panel2.Location;//让位置相等 }
参考:
http://bbs.csdn.net/topics/390741533
以上是关于c# 两个panel的主要内容,如果未能解决你的问题,请参考以下文章
C# 两个重叠panel容器如何使用button转换上下层显示z在窗体的最前端?