2011-05-06 3 views
1

객체 발신자를 제어 발신자로 변경하는 방법이 있습니까? 내가 원하는 것은 객체 발신자가 컨트롤러 수 (예를 들어 컨트롤러 15)를 말해주는 것이 아니라 "system.project.label, text : 'text here'"라고 말합니다.보낸 사람을 제어하는 ​​개체 보낸 사람?

시트의 각 컨트롤러를보고 해당 컨트롤러에 개체 보낸 사람을 비교하여이 문제를 해결할 수있는 방법이 있지만 상당히 긴급한 해결 방법입니다. 발신자가 제어 위치를 대신보고하도록하는 방법을 알고 있다면 궁금합니다.

+0

"개체 발신자"및 "제어 보낸 사람"이란 무엇입니까? 나는이 용어를 C#과 관련하여 들어 본 적이 없다. – Oded

+1

@Oded 그는 이벤트 핸들러 대리인의 첫 번째 매개 변수에 대해 이야기하고 있다고 생각합니다. –

+0

이것은 Windows 양식의 이벤트입니다. – Aliostad

답변

6

이벤트 핸들러의 인수가 object sender 인 경우, 항상 컨트롤에 캐스트 할 수 있습니다.

if(sender is Control) 
{ 
    var myControl = sender as Control; 
} 
관련 문제