필자의 경우에는 패널이 있지만 필자는 예제에서 버튼을 사용할 것이다."this"를 제대로 사용하여 양식 컨트롤에 액세스하는 방법?
5 개 이상의 버튼이 있고 이벤트 (예 : OnMouseHover)가 5 개의 버튼 모두에 설정되어 있습니다. 모든 이벤트가 한 가지 방법으로 연결되는 경우 어떤 마우스가 마우스 오버 되었습니까?
마우스를 맴도는 버튼을 캡처하려면 "this"를 사용해 보았지만 양식 자체에 연결되었습니다.
private void buttonX_MouseHover(object sender, EventArgs e)
{
this.Text = "Test";
}
나는 마우스가 해당 텍스트에 "테스트"를 변경 가리킬 지정된 버튼의 텍스트를 예상하지만, 그것은 단지 form.Text에 일어났다.
내 실제 프로그램에서 나는 60 개의 패널을 가지고 있으며, 다시 한 번 모든 OnMouseHover 이벤트에 대해 하나의 메서드를 사용합니다. 마우스가 맴도는 패널 (위의 예제에서 단추)은 어떻게 얻을 수 있습니까?
감사합니다. 내 하루를 저장했습니다. 질문이 하나뿐입니다. 모든 이벤트에서 "보낸 사람"이 컨트롤에 연결되어 있습니까? –
@ 존 : 그렇습니다. 이벤트를 발생시키는 모든 인스턴스에 항상 연결됩니다. 컨트롤의 경우에는 현재 컨트롤입니다. –
그러나 직접 이벤트를 발생시킬 때는 적절한 인스턴스 ('this')를 수동으로 전달해야합니다. 왜냐하면 이것은 컴파일러에 의해 보장되지 않기 때문입니다. 나는 마크가 "일반적으로"그의 대답에서 의미하는 바를 추측합니다. –