2017-10-19 10 views
-1

私はMDIフォームと2つの子フォームを持っています MDIのメニューボタンをクリックすると、ログインフォームが開き、ログインフォームが開き、ボタンをクリックしたときに必要ですログインフォームを閉じて2番目の子フォームを開く これは私が試しているコードですが、MDIの内部では開きません。MDI内の別の子フォームから子フォームを開くには?

frmAdmin frm = new frmAdmin(); 
frm.MdiParent = this.ParentForm; 
this.close(); 
frm.Dock = DockStyle.Fill; 
frm.Show(); 

答えて

0

Loginフォームから2番目のフォームを呼び出さないでくださいを次のように

this.Close(); 
frmAdmin frm = new frmAdmin(); 
frm.MdiParent = this.ParentForm; 
frm.Dock = DockStyle.Fill; 
frm.Show(); 
0
がコードを書き直し

助けてください。 Loginフォームをモーダルダイアログとして開き、ログイン結果を親フォームに戻します。親フォームはログイン結果に基づいて「決定」し、2番目のフォームを開きます。あなたのLoginフォーム上のアプローチで

// Login function in main form 
using (var login = new LoginForm()) 
{ 
    if (login.ShowDialog() == DialogResult.Ok) 
    { 
     var admin = new AdminForm 
     { 
      MdiParent = this; 
      Dock = DockStyle.Fill; 
     } 

     admin.Show(); 
    } 
    else 
    { 
     // do something when login fails 
    } 
} 

ユーザーをログインするだけで責任を持って残ります。

関連する問題