2009-07-30 5 views
0

나는 사용자 콘트롤을 콤보 박스와 라벨로 구성했다. 내 응용 프로그램에서 해당 콤보 상자의 선택한 값을 기반으로 다른 컨트롤을 사용하거나 사용하지 않도록 설정해야합니다. 응용 프로그램에서 SelectItemChanged 이벤트에 액세스하려면 어떻게합니까?사용자 콘트롤에서 Combobox SelectedItemChanged 이벤트

+0

또 다른 일반적인 질문은 응용 프로그램에서 사용자 정의 컨트롤 안에있는 구성 요소의 이벤트 처리기에 어떻게 액세스합니까? – novacara

답변

0
+0

어느 쪽이든 ... 그 중 어느 것도 콤보 상자가 사용자 정의 컨트롤에 캡슐화되어 있기 때문에 응용 프로그램에서 속성을 설정할 수 없습니다. – novacara

+0

그러면 다른 이벤트 나 무언가를 기본 응용 프로그램에 묶어야합니다. 다른 컨트롤 – SwDevMan81

+0

나는 당신이 말하는 것을 이해하지 못합니다. – novacara

2

당신은 사용자 정의 컨트롤에 이벤트를 처리 할 이벤트 핸들러를 보낼 필요를 참조하십시오. 아래 코드와 비슷한 것 :

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 

     YourUserControl userctr = new YourUserControl(); 

     //Sent the event handler linked to OnSelectedValueChanged 
     userctrl.HandleSelectedValueEvent(new EventHandler(OnSelectedValueChanged)); 
    } 

    private void OnSelectedValueChanged(object sender, EventArgs e) 
    { 
     //Do something 
    } 
} 

public partial class YourUserControl : UserControl 
{ 
    public void HandleSelectedValueEvent(EventHandler handler) 
    { 
     this.comboBox1.SelectedIndexChanged += handler; 
    } 
} 
관련 문제