2013-06-18 3 views
0

두 가지 양식 (form1, form2)을 가진 C# 응용 프로그램이 있습니다. btnTransfer_click의 form1에서 두 번째 양식을 엽니 다. 두번째 형태에서한 양식에서 다른 양식으로 데이터 전송

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

    //i need here values from second form 

} 

I는 btnOk I 사용자 및 비밀번호 확인 2 텍스트 박스 (txtUser, txtPassword) 및 버튼 (btnOk) CSTE 연구진 버튼을 가지고 올바른지 난 다시 제 형태로 제공하고이 값을 얻을 수있다 클릭 버튼. Form2를에서

:

내가이 어떻게 할 수 있습니까? 감사합니다.

+0

두 번째 양식에는 두 개의 텍스트 상자 만 있으므로 인증이 수행되므로 첫 번째 양식으로 전송할 데이터는 무엇입니까? –

답변

0

, 두 public 클래스 속성, 각 텍스트 상자의 값을 만듭니다

그런 다음 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! 
    } 
} 
0

일반적으로, 그것은 데이터 전송 객체를 사용하고 :

http://msdn.microsoft.com/en-us/library/ff649585.aspx

또는 도메인 개체를. form2에서

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

당신이 확인하고 속성에 할당 할 수있는 :

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(); 
} 
form2의 클래스에서

http://msdn.microsoft.com/en-us/magazine/dd419654.aspx

+0

이것은 네트워킹과 관련이있는 것 같습니다. 그러나 OP는 데스크톱 응용 프로그램의 프로세스 (기본 프로세스)에서 데이터를 전송하려고합니다. –

관련 문제