panel控件无法显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了panel控件无法显示相关的知识,希望对你有一定的参考价值。

在我的窗体上,有两个按钮,并且有两个Panel控件。我想在加载时,显示panel1。当单击button2时,隐藏panel1显示panel2。之后单击button1显示panel1隐藏panel2.可是这时单击Button1,却始终显示不出panel1了。这是为什么啊?请高手指点,小弟感激不尽。

protected void Page_Load(object sender, EventArgs e)

this.pan1.Visible = true;
this.pan2.Visible = false;

//按钮2
protected void btn2_Click(object sender, EventArgs e)

this.pan1.Visible = false;
this.pan2.Visible = true;

//按钮1
protected void btn1_Click(object sender, EventArgs e)

this.pan1.Visible = true;
this.pan2.Visible = false;

经过测试运行正常

拖入控件的时候他们的状态都是 显示状态!
我想你的panel 不会被挡住了吧!

参考资料://

参考技术A 你把panel的autopostback属性都设为true就OK了

Pnel控件

分组类控件

面板控件(Panel

分组框控件GroupBox

选项卡控件(TabControl控件

 

Panel 控件是由System.Windows.Forms.Panel类提供的,主要作用就是将其他控件组合在一起放到一个面板,使这些控件更容易管理,当Panel控件面板上要显示过多的控件时,设置AutoScroll属性为true

 

 

Panel控件面板在默认情况下不显示边框,如把BorderStyle属性这是不是None的其他值,就可以适用面板可视化地组合相关的控件

 

主窗体

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Panel面板控件
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            button1.Text = "常规";
            button2.Text = "下载";
            button3.Text = "外观";
            button4.Text = "远程下载";
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            hostSet myhost = new hostSet();
            myhost.TopLevel = false;  //没有这一步会提示错误,不能把顶级控件加入到顶级控件中。需要把这个窗体控件的级别改为不是顶级的
            panel1.Controls.Add(myhost);
            myhost.Show();
            myhost.BringToFront();   //将控件置于顶层
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Download mydown = new Download();
            mydown.TopLevel = false;
            this.panel1.Controls.Add(mydown);
            mydown.Show();
            mydown.BringToFront();   //bringToFront 将控件置于顶层  
        }
    }
}

本机设置窗体


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Panel面板控件
{
    public partial class hostSet : Form
    {
        public hostSet()
        {
            InitializeComponent();
        }

        private void hostSet_Load(object sender, EventArgs e)
        {
            label1.Text = "本机设置";
            checkBox2.Text = "开机远程下载";
            checkBox3.Text = "远程下载关闭监视器";
            this.FormBorderStyle = FormBorderStyle.None;  //设置hostSet窗体的边框为没有边框 是enum枚举类型。
        }
    }
}


下载窗体

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Panel面板控件
{
    public partial class Download : Form
    {
        public Download()
        {
            InitializeComponent();
        }

        private void Download_Load(object sender, EventArgs e)
        {
            this.FormBorderStyle = FormBorderStyle.None; //将DownLoad窗体的边框样式选择无边框
            
        }
    }
}

 

  

 

以上是关于panel控件无法显示的主要内容,如果未能解决你的问题,请参考以下文章

c#:winform的panel控件,我设计时把panel2覆盖在panel1。触发后可显示panel1,但触发panel2时没法显示?

怎样实现panel控件隐藏或显示

无法在基于 gtkmm 的 gnome-panel 小程序上显示图像

Winform图片移动与缩放

Winform panel的底层为pictureBox然后显示pb为背景

如何在VS中加载Chart控件