C#中Panel控件的使用

  大家在创建winform的时候,是不是很多时候都需要建立父窗体,然后再父窗体基础上添加子窗体,然后再单击事件的时候还有可能弹出好多的窗口,今天给大家带来有关panel控件福利。

  Panel控件相当于在我们主窗体中添加了一个容器,通过这个容器把我们需要用的控件直接在这个容器中显示,当然也包括我们的窗体,这样每次单击事件就只有这一个窗体中的控件内容在变化。

 

(有关panel和子父窗体各有各的好处也各有各的不方便,具体小编不在这里多加评论,世界给了你多种选择,哪种开心选哪种)

对于Panel和GroupBox相比,Panel有滚动条而GroupBox没有

首先在我们的工具箱中找到Panel控件并将它添加在父窗体中

C#中Panel控件的使用_第1张图片

如图是我机房中主窗体的构造:

C#中Panel控件的使用_第2张图片

有关于panel的使用 

private void btnSearchUpInfo_Click(object sender, EventArgs e)
        {
            this.panel2.Controls.Clear();
            frmStuSearchUpInfo frmstusearch = new frmStuSearchUpInfo();
            frmstusearch.Dock = System.Windows.Forms.DockStyle.Fill;
            frmstusearch.FormBorderStyle = FormBorderStyle.None;
            this.panel2.Controls.Add(frmstusearch);
            frmstusearch.Show();
        }

但是这样会报一个错误

C#中Panel控件的使用_第3张图片

也就是我们的控件中添加置顶窗体了,这时我们就要将期属性设置为否

frmstusearch.TopLevel = false;

但是我们在使用过程中又发现了一些问题:例如窗体的位置问题,怎么设置窗体最大化,那么请继续看下去,也会给出相应的解决办法,(如果解决办法出现问题还望大佬多多指点,万分感谢!)

  //将窗口最大化,并去掉边界

                this.FormBorderStyle = FormBorderStyle.None;

                this.WindowState = FormWindowState.Maximized;

                this.pl_play.Dock = DockStyle.Fill; 

                //隐藏掉工具栏

                this.ms_player.Visible = false;

                this.ts_player.Visible = false;

                this.pl_player_bottom.Visible = false;

                //将panel大小设为设备窗口大小

                this.pl_play.Height = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size.Height;

还有一个解决Winform Panel动态加载Form页wufa无法跟随Panel最大化问题(希望可以用,如果有问题,还希望大家多多指点)

Private void ShowForm(Form frm)
{
    frm.MaximizeBox=true;
    frm.TopLevel=false;
    frm.FormBordeStyle=FormBorderStyle.None;
    frm.BackColor=this.panel2.content.BackColor;
    frm.Dock=this.panel2.content.Dock;
    this.panel2_content.Controls.Clear();
    this.panel2_content.Controls.Add(frm);
    frm.Show();

}

 

你可能感兴趣的:(机房重构)