2010-07-07 4 views
0

나는이 질문에 제목을 무엇을 정말로 몰랐다.같은 양식의 별도 usercontrols에서 메서드 호출

나는 Windows 양식 응용 프로그램이 있다고 가정합니다. GUI는 복잡하고 사용자 정의 컨트롤 인 "LeftSide"와 "Rightside"가 필요합니다. 각 컨트롤은 다양한 버튼, 레이블 및 어쩌면 다른 사용자 정의 컨트롤로 구성됩니다.

내 질문 :

나는 "Rightside"컨트롤의 범위에서입니다. "Leftside"컨트롤에서 메서드를 어떻게 호출 할 수 있습니까?

나는 비주얼 스튜디오 2008

답변

1

가장 간단한 해결 방법은 다음 입력 LeftSideRightSide 컨트롤 속성을 폼 디자이너의 LeftSide 인스턴스에 설정하는 것입니다을 사용하고 있습니다.

그런 다음 속성에서 public 메서드를 호출 할 수 있습니다.

그러나 이는 잘못된 디자인입니다.
각 사용자 정의 컨트롤은 다른 사용자 정의 컨트롤과 직접 상호 작용할 필요가없는 독립적 인 블록이어야합니다.

양식 재구성을 고려해야합니다. 표준 WF와

+0

추가 질문 : 문제의 메서드를 "왼쪽"에서 부모 양식 자체로 이동할 수 있습니까? 예를 들어 "왼쪽"과 "오른쪽"모두 메서드를 호출 할 수 있습니까? –

+0

@Raven : 예. 그것을 공개 메소드로 만들고,'((MyParentFormClass) FindForm()). SomeMethod()'를 작성하십시오. – SLaks

1

정확한 해당 관리 : 서로 동기화 하나 개의 텍스트 상자의 텍스트를 유지하는 방법 :

private void textBox1_TextChanged(object sender, EventArgs e) { 
     textBox2.Text = textBox1.Text; 
    } 

필요한 재료 : 뭔가 재미있는 일이 발생하면 발사되는 사용자 컨트롤의 이벤트를. 그리고 공공 재산.