C++ Windows窗体-按钮单击
我有一个Windows窗体应用程序,其中包含大约15个不同的按钮,单击这些按钮应该显示1或0 现在的问题是: 目前,我正在为每个按钮重复几乎完全相同的代码,这很好,但我想做的是使用某种方法,知道我正在按哪个按钮,然后我想将该按钮名称作为参数发送给包含代码的函数 我现在就是这样做的:C++ Windows窗体-按钮单击,c++,windows-forms-designer,C++,Windows Forms Designer,我有一个Windows窗体应用程序,其中包含大约15个不同的按钮,单击这些按钮应该显示1或0 现在的问题是: 目前,我正在为每个按钮重复几乎完全相同的代码,这很好,但我想做的是使用某种方法,知道我正在按哪个按钮,然后我想将该按钮名称作为参数发送给包含代码的函数 我现在就是这样做的: private: System::Void button1Click(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
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
}
private: System::Void justClicked(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
//CODE HERE with justClicked as the buttons name.
}
这一直持续到按钮15
我想做什么:
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
}
private: System::Void justClicked(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
//CODE HERE with justClicked as the buttons name.
}
sender
参数虽然定义为对象,但却是对导致事件的对象的引用。您只需将sender
强制转换为按钮或控件,即可获得所需的名称或任何属性
您还只需要一个事件处理程序。所有按钮的单击事件都应分配给同一个事件处理程序函数。sender参数告诉您单击了哪个按钮。你可以对多个按钮使用相同的按钮单击方法。谢谢,这正是我所需要的。