2016-08-04 6 views
-1

私は、MainWindowを持つwpfアプリケーションを持っています。ユーザは、作成した新しいウィンドウを開くログインボタンをクリックします。その新しいwindow.csファイルで私はユーザークラスの新しいインスタンスに格納されているユーザー名のユーザータイプを持っています。 MainWindow.csでアクセス可能なクラス名(クラスの新しいインスタンスに保存されている)を持っています。ウィンドウ間でオブジェクトのインスタンスを共有する技術

このためのベストプラクティスは何ですか?

+0

その新しいウィンドウのパブリックプロパティを確認します。しかし、ログインウィンドウであるので、モーダルでなければならないので、base.ShowDialog()を呼び出すShowDialog()オーバーロードから戻すことができます。 –

答えて

0

あなたは、常に多くのOpenFileDialogと同じように、ログインフォームのpublicプロパティを通じてそれを公開することができます。

void Login() 
{ 
    var login = new LoginForm(); 
    if (login.ShowDialog() == DialogResult.OK) 
    { 
     var userName = login.UserName; 
    } 
} 

public class LoginForm : Form 
{ 
    public string UserName { get; private set; } 

    public void OnOKButton_Click(object sender, EventArgs e) 
    { 
     // validation... 

     this.DialogResult = DialogResult.OK; 
     this.UserName = UserNameTextBox.Text; 

     this.Dispose(); 
    } 
} 
関連する問題