바로

2012-12-13 2 views
0

나는 누군가가 요소를 클릭 한 후 물론바로

something_Click(object sender, EventArgs e) 
{ 
    code 
} 
... 

그것은 실행하는 작업 방법을 가지고있다. 필요한 것은 요소가 화면에 나타난 직후에이 메서드를 실행하는 것입니다 (StripStatusLabel). 코드 시작 부분에 메서드 호출을 추가하려고 시도했지만 아무것도 수행하지 않았습니다.

답변

4

Form.Load 이벤트 핸들러에서 버튼으로 Button.PerformClick으로 전화 할 수 있습니다.

논리를 자체 메서드로 옮기고 단추 처리기와 Load 이벤트에서 해당 메서드를 호출하는 것이 더 명확하므로 고려해 볼 수 있습니다. (이것은 분명히 "버튼 클릭"이상으로 트리거되는 코드입니다).

2

대상으로하는 프레임 워크 (WPF와 Winforms)에 따라 Load 이벤트를 대신 처리 할 수 ​​있습니다. 요소가 화면에 나타날 때 트리거됩니다.

0

일반적으로 사용자가 보낸 양식 이벤트를 발생시키는 것은 좋지 않습니다. 이 의미에서 클릭을 "속일"려고합니다. 미래의 디버깅 또는 프로젝트를 상속받을 동료를 생각해보십시오. 코드를 검사 할 때 something_Click은 "무언가"에 클릭이있을 때만 해고 될 것으로 예상됩니다.

더 나은 해결책은 "코드"부분을 귀하의 싹둑에 넣고 그 이름이 실제로하는 것을 반영하는 방법에 넣는 것입니다.

다른 지역에서는이 방법을 사용할 수 있습니다. 클릭, 하중, 어디서든 발사하십시오.

something_Click(object sender, EventArgs e) 
{ 
    DoStuff(); 
} 

OnAppearToScreen() 
{ 
    DoStuff(); 
} 

DoStuff() 
{ 
    //code that actually does stuff 
} 

은 나중에, 당신은 "물건"이 개체에 수행 할 때 확인하고자 할 때, 당신은 쉽게 코드 검사를 통해서 알 수 있습니다.