我正在使用面板设计多页窗体。
我正在显示登录表单并验证按钮点击,并希望隐藏登录面板并显示主面板。
但是,当我单击按钮时,登录面板会消失,但主面板不会出现。由于没有任何内容可以显示,因此窗体窗口会缩小到最小化/最大化/关闭按钮。
以下是按钮的代码:
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 = "";
}
请让我知道我错过/误解了什么。谢谢!
编辑: 截图: 登录界面: http://img641.imageshack.us/img641/9310/loginscreenj.jpg
答案 0 :(得分:22)
标准错误是您不小心将主面板放在登录面板中。因此,当您使loginpanel不可见时,主面板永远不会变得可见。这种意外在设计师中很常见,它不会让你把两块面板放在一起。您可以使用View +(其他Windows)+文档大纲修复它。拖动主面板并将其放在窗体上。您必须通过在“属性”窗口中对其进行编辑来修复“位置”属性,而不是使用鼠标移动面板。
完全不同的方法是使用TabControl。在设计器中很容易,您只需要在运行时隐藏选项卡。代码is here。
或使用两个UserControl。
答案 1 :(得分:1)
看起来你的for会自动调整大小。表格上有2个属性负责自动尺寸:
AutoSize = True;
AutoSizeMode = GrowAndShrink;
如果您有上述设置,那么如果没有其他内容可供显示,您的表单将缩小到控制面板(按钮)。
如果有帮助,请告诉我。
<强>已更新强>
也...你的控件“pwdBox”属于主面板吗?
答案 2 :(得分:-1)
两个建议: 尝试将height属性设置为100%
mainpanel.Height = 100%
如果这不起作用,请确保页面未在回发时将mainpanel.visible设置为false进行初始化。