的問題是,你正在試圖隱藏的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);
整個事情將工作和隱藏正常。
代碼的位置並不清楚。第一部分在哪裏? –