Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Windows窗体-按钮单击_C++_Windows Forms Designer - Fatal编程技术网

C++ Windows窗体-按钮单击

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)

我有一个Windows窗体应用程序,其中包含大约15个不同的按钮,单击这些按钮应该显示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
 }
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参数告诉您单击了哪个按钮。你可以对多个按钮使用相同的按钮单击方法。谢谢,这正是我所需要的。