2016-08-04 91 views
-1

我有一個帶有MainWindow的wpf應用程序,用戶點擊一個登錄按鈕,打開一個我創建的新窗口。在那個新的window.cs文件中,我有用戶類型的用戶名,它存儲在用戶類的新實例中。我想擁有可以在MainWindow.cs中訪問的用戶名(存儲在類的新實例中)在windows之間共享一個對象實例

最佳實踐是什麼?

+0

讓它在新窗口的公共屬性。但是由於它是一個登錄窗口,它應該是模態的,所以你可以從調用base.ShowDialog()的ShowDialog()重載中返回它。 –

回答

0

您可以隨時暴露通過登錄表單上public財產,與OpenFileDialog很像:

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(); 
    } 
}