.net panel visibility = true不起作用

man*_*007 5 .net panel visual-studio-2010 winforms

我正在使用面板设计多页窗体.

我正在显示登录表单并验证按钮单击,并希望隐藏登录面板并显示主面板.

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

这是按钮的代码:

       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 = "";

    }
Run Code Online (Sandbox Code Playgroud)

请让我知道我错过/误解了什么.谢谢!

编辑:屏幕截图:登录屏幕:http: //img641.imageshack.us/img641/9310/loginscreenj.jpg

空窗口:http: //img163.imageshack.us/img163/1376/emptyx.jpg

Han*_*ant 22

标准错误是您不小心将主面板放在登录面板.因此,当您使loginpanel不可见时,主面板永远不会变得可见.这种意外在设计师中很常见,它不会让你把两块面板放在一起.您可以使用View +(其他Windows)+文档大纲修复它.拖动主面板并将其放在窗体上.您必须通过在"属性"窗口中对其进行编辑来修复"位置"属性,而不是使用鼠标移动面板.

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

或者使用两个UserControl.