的问题是,你正在试图隐藏的frmUser
错误instace。我假设第一段代码段在类frmPass
中。在那里你创建一个你试图隐藏的新实例。但是你想隐藏原始实例。
由于Nino已经建议我也会建议使用DialogResult
来检查管理员是否被确认。但可能你已经有了不同的机制。不过,你需要隐藏的代码行放入类frmUser
的pass.ShowDialog();
private void button1_Click(object sender, EventArgs e)
{
formPass pass = new formPass();
pass.ShowDialog();
if(AdminIsConfirmed)
{
this.Hide();
}
}
电话后离开其他this.Hide()
在frmPass
来关闭。
EDIT
另一种可能性是将frmUser
实例进入的frmPass
构造和在frmPass
具有frmUser
类型的变量。你只需要重载它:
public partial class formPass : Form
{
formUser us;
public formPass(/* all that stuff that you have plus*/, formUser us)
{
InitializeComponent();
this.us = us;
}
呼叫frmPass
现在这个样子:
frmPass pass = new frmPass(lblAID.Text, lblName.Text, lblType.Text, "User Module", this);
现在你可以删除行:
frmUser us = new frmUser(lblEID.Text, lblAdmin.Text, lblType.Text);
整个事情将工作和隐藏正常。
代码的位置并不清楚。第一部分在哪里? –