2011-11-01 1 views
2

나는 윈도우에서 클릭 표시되어야합니다 약 15 다른 버튼을 포함 Forms 응용 프로그램이 1 또는윈도우 폼 - 버튼 클릭

0 이제 문제가 : 현재 내가 거의 동일한 코드를 반복하고있어 각각의 모든 버튼과 그 잘 작동하지만, 내가 뭘하고 싶은지 현재 어떤 버튼을 알고 어떤 방법을 누른 다음 코드를 포함하는 함수에 매개 변수로 그 버튼 이름을 보내고 싶습니다.

이 내가 지금하고 있어요 방법은 다음과 같습니다

private: System::Void button1Click(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { 
    //CODE HERE 
} 
    private: System::Void button2Click(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { 
    //SAME CODE HERE 
} 

그리고이 버튼을 15 일까지 계속된다 ... 내가 좋아하는 것이 무엇

는해야 할 일 :

private: System::Void justClicked(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { 
     //CODE HERE with justClicked as the buttons name. 
    } 
+0

'보낸 사람'인수는 클릭 한 단추를 알려줍니다. 여러 버튼에 대해 동일한 buttonClick 메서드를 사용할 수 있습니다. –

답변

1

sender 매개 변수는 개체로 정의되어 있지만 원인이되는 개체에 대한 참조입니다. 이벤트. 버튼 또는 컨트롤에 sender을 캐스팅하면 필요한 이름이나 속성을 얻을 수 있습니다.

단일 이벤트 핸들러 만 있으면됩니다. 모든 버튼의 클릭 이벤트는 동일한 이벤트 핸들러 함수에 할당되어야합니다.

+0

감사합니다. 정확하게 필요한 것. – Lexipain

+0

굉장합니다. 답변을 수락하는 것을 잊지 마십시오 : http://stackoverflow.com/faq –