2013-09-21 2 views

답변

3

Form2에서 Form1의 텍스트 필드를 읽으려면 어떻게해야합니까?

Form2 form2 = new Form2(); 
form2.Show(); // Or ShowDialog? 

string name = form2.UserName; 

UserName의 구현뿐만 아니라로부터 값을 페치 할 수있다 :

아마도 Form1 정도로 인스턴스에 길게 형태에 적절한 속성을 노출 ... Form2의 인스턴스를 생성 텍스트 필드 :

public string UserName { get { return userNameTextField.Text; } } 

당신 속성에 직접 텍스트 필드를 표시 할 수도 있지만 개인적으로 나는 폼이 자신의 UI를 "소유"해야한다고 생각하는 경향이 있으며, 다른 코드가 그것을 엉망으로 만들어서는 안된다.

0

당신은 방법 만들고 Form1에이 textfields

public string GetTextFieldText() 
{ 
    return textfield.Text; 
} 

에서 데이터를 retreive 또는 속성을 포장

public string TextField 
{ 
    get 
    { 
     return textfield.Text; 
    } 
} 

다음과 같은 형식 2 일에서 액세스 할 수 :

Form1 frm1 = new Form1(); 
string text = frm1.TextField; // Or GetTextFieldText() 
0

수정 자 public을 사용하여 전역 변수를 만든 다음 텍스트 상자의 텍스트를 Text_Changed 이벤트 또는 button_click 이벤트를 사용하는 변수로 보내십시오 (단추를 클릭 한 후 텍스트를 검색하려는 경우).

다음으로 Form1. 당신은 당신의 form2과에

Form2 form = new Form2(); 
    //Then do whatever u want with the variable 
    MessageBox.Show(form.globalVariableName); 

또는 설정

public에 텍스트 상자의 수정 속성을 사용하여 Form1

Form2 form = new Form2(); 
    //Then do whatever u want with the textbox 
    MessageBox.Show(form.TextBoxName.Text); 
0

이것은 당신이 시작할 수 있어야합니다

//Global Variable 
Form2 frm2; 

//assuming form1 is the creator of form2 
public Form1() 
{ 
    frm2 = new Form2(); 
} 

//in your Form1, under read data button for example: 
string myName = frm2.TextBox1.Text; 
관련 문제