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 你怎么骂人!素质真低!

参考技术A 2个panel中加入表格,表格大小设置为相同大小。
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内容

C# 两个重叠panel容器如何使用button转换上下层显示z在窗体的最前端?

C# WinForm splitContainer 问题

C#如何强制Panel1和Panel2的Paint事件同时完成?

C# 关于在panel中显示窗体的问题

C# winform中使用Panel调节窗口变化是各控件的位置(转)