2009-05-06 2 views

답변

0

formB가 formA에서 초기화된다고 가정하면 formB의 생성자에 문자열을 추가하여 Texbox1을 보내는 것이 좋습니다.

class formB: Form{ 
    private string data; 
    public formB(string data) 
    { 
     InitializeComponent(); 
     this.data = data; 
    } 
    //rest of your code for the class 

} 
2

한 양식에 속성을 표시하고 다른 양식에서 속성을 호출 할 수 있습니다. 물론 form1의 인스턴스를 가져올 수있는 방법이 필요합니다. 프로그램 클래스 나 다른 부모 클래스의 정적 속성으로 유지할 수 있습니다. 일반적으로이 경우 인스턴스를 보유하는 정적 응용 프로그램 클래스가 있습니다.

public static class Application 
{ 
public static MyForm MyFormInstance { get; set; } 
} 

그런 다음 첫 번째 양식을 시작할 때 응용 프로그램 MyFormInstance 속성을 첫 번째 양식의 인스턴스로 설정하십시오.

MyForm instance = new MyForm(); 
Application.MyFormInstance = instance; 

두 번째 양식에 속성을 추가하십시오.

public String MyText 
{ get { return textbox1.Text; } 
    set { textbox1.Text = value; } 
} 

그리고 당신은 당신의 두 번째 양식에서 액세스 할 수 있습니다 : 당신이 건물 또는 텍스트를 반환하는 방법 중 하나를 노출 데이터를 필요로하는 텍스트 상자가있는 폼에

Application.MyFormInstance.MyText 
+1

자와 같이 텍스트

는 쉬운 방법은 당신이 직접 액세스 할 수 있습니다, 공공 등의 텍스트 상자의 수정 속성을 표시하는 것입니다하지만 당신은 여전히 ​​인스턴스에 얻을 수있는 방법이 필요합니다 . –

1

. IE :

internal string TextBoxTest 
{ 
    get{ return this.textBox1.Text;} 
} 
+0

그래서 어떻게 내 원래 메서드를 실행하려면 원하는 양식에서 해당 메서드를 호출 할? – Goober

0

이렇게하지 마십시오.

긴 버전 :보기가 다른보기와 직접 상호 작용하는 이유는 무엇입니까?

더 이상 버전 :

오히려 필드를 노출 공용 속성을보다 관심 분야와 양식이었다 데이터 객체의 형태와 상호 작용하는 경우, 그것은 변화에서 더 나은 캡슐화 및 절연을 제공 할 것 그런 다음 관심있는 방법으로 전달됩니다.

관심있는 방법의 위치를 ​​신중하게 고려해야합니다. -보기의 측면 (예 : WinForm)을 제어하는 ​​경우 적절하게 해당 클래스의 구성원 일 수 있습니다. 그렇지 않은 경우 실제 집이 데이터 객체?

1

은 비디오 아래의 두 형태 사이에 데이터를 전달 대해 많은 개념을 정리하는 유사한 포스트 here

에게 있습니다. http://windowsclient.net/learn/video.aspx?v=108089

  • FormToForm 사용하여 매개 변수 - - http://windowsclient.net/learn/video.aspx?v=105861

  • 는 예를 들어 비디오가이 링크 속성을 사용하여이

    • FormToForm을 확인 두 형태 사이에 데이터를 전달하는 여러 가지 방법이 있습니다

      HTH

    관련 문제