Can';t将.Net面板设置为可见

Can';t将.Net面板设置为可见,.net,winforms,visual-studio-2010,panel,.net,Winforms,Visual Studio 2010,Panel,我正在使用面板设计一个多页windows窗体 我正在显示一个登录表单并验证按钮单击,我想隐藏登录面板并显示主面板 然而,当我点击按钮时,登录面板消失了,但是主面板没有出现。由于没有显示任何内容,表单窗口缩小到只有最小化/最大化/关闭按钮 下面是按钮的代码: private void btn_login_Click(object sender, EventArgs e) { if (pwdBox.Text == optopwd) { MessageBox.Show(

我正在使用面板设计一个多页windows窗体

我正在显示一个登录表单并验证按钮单击,我想隐藏登录面板并显示主面板

然而,当我点击按钮时,登录面板消失了,但是主面板没有出现。由于没有显示任何内容,表单窗口缩小到只有最小化/最大化/关闭按钮

下面是按钮的代码:

private void btn_login_Click(object sender, EventArgs e)
{
    if (pwdBox.Text == optopwd)
    {
        MessageBox.Show("Good Morning!!");
        loginpanel.Visible = false;
        mainpanel.Visible = true;
    }
    else MessageBox.Show("Incorrect password!");

    pwdBox.Text = "";      
}
请让我知道我错过了什么/误解了什么。谢谢

编辑: 截图: 登录屏幕:

空窗口: 两个建议: 尝试将“高度”属性设置为100%

mainpanel.Height = 100%

如果这不起作用,请确保页面未使用mainpanel.visible进行初始化。回发时将设置为false。

看起来您的for正在自动调整大小。表单上有两个属性负责自动调整大小:

AutoSize = True;
AutoSizeMode = GrowAndShrink;
如果您有上述设置,那么您的表单将收缩到控制面板(按钮),如果没有其他显示

如果有帮助,请告诉我

已更新


还有。。。您的控件“pwdBox”属于主面板吗?

标准错误是您不小心将主面板放在登录面板中。因此,当您使loginpanel不可见时,主面板永远无法显示。这种事故在设计师中很常见,它不会让你把两个面板放在彼此的上面。您可以使用视图+(其他窗口)+文档大纲来修复它。拖动主面板并将其放到窗体上。您必须通过在“属性”窗口中编辑位置属性来修复位置属性,而不是用鼠标移动面板

另一种完全不同的方法是使用TabControl。在设计器中很容易,您只需要在运行时隐藏选项卡。代码


或者使用两个用户控件。

如何添加打印屏幕?是否有任何特定的网站可以上传图像?您是否记得将面板添加到表单的控件中?是的。。如果在设计过程中没有将主面板的可见性设置为false,则主面板在登录表单后面可见。但是一旦登录页面消失,这个面板也会消失……如果你想通知某人你回复了他的评论,请在评论前添加@hisname。要回复我,你应该写:“@ispiro yes..the main panel”…我在其他窗口中找不到“文档布局”。我用的是VS2010。可能是名字变了?哎呀,这是文档大纲。就是这样!我把主面板放在登录面板里。用drag n drop修正了它。谢谢你的帮助!救了我几个小时的痛苦!谢谢我最大化了表单,以查看主页的内容是否以这种方式显示,但它显示的只是一个空表单。