2013-06-18 236 views
0

我有一個C#應用程序,具有兩種形式(form1,form2)。在form1上btnTransfer_click打開第二種形式。將數據從一個表單傳輸到另一個表單

private void btnTransfer_Click(object sender, EventArgs e) 
{ 
    Form2 frmConn = new Form2 ; 
    frmConn .Show(); 

    //i need here values from second form 

} 

在第二形式我有2個文本框(txtUser,txtPassword)和按鈕(btnOk)。在按鈕btnOk我驗證用戶名和密碼,並且如果是正確的,我必須回來第一形式和得到這個值點擊按鈕。

在窗體2:

我怎樣才能做到這一點? 謝謝!

+0

您的第二個表單只有2個文本框,那麼認證在那裏完成,那麼您想要傳輸到第一個表單的數據是什麼? –

回答

0

在類form2,創建兩個public類屬性,每一個文本框的值:

private String _username = null; 
public String UserName { get { return _username; } } 
private String _password = null; 
public String Password { get { return _password; } } 

form2您可以驗證並分配給屬性:

private void btnOk_Click(Object sender, EventArgs e) 
{ 
    //verify if txtUser and txtPassword are correct 

    if (correct) 
    { 
     _username = txtUser.Text; 
     _password = txtPassword.Text; 
    } 
    this.Close(); 
} 

然後,您可以在form1代碼中檢索它們,例如:

private void btnTransfer_Click(Object sender, EventArgs e) 
{ 
    //This using statement will ensure that you still have an object reference when you return from form2... 
    using (Form2 frmConn = new Form2()) 
    { 
     frmConn.Show(); 

     String user = frmConn.UserName; 
     String pass = frmConn.Password; 

     if (!String.IsNullOrEmpty(user) && !String.IsNullOrEmpty(pass)) 
      //do something with them, they are valid! 
    } 
} 
相關問題