Итак, в моей программе загружено множество кнопок, которые действительно похожи, имеют одинаковые переменные и выполняют одни и те же функции ... Поэтому я решил создать класс «CustomButton», дочерний элемент кнопки C ++,но с моими функциями и всем этим уже в нем.Проблема в том, что когда у меня установлен класс
public ref class CustomButton : public System::Windows::Forms::Button{
protected:
virtual void OnMouseDown(System::Windows::Forms::MouseEventArgs ^e) override{
if(e->Button == System::Windows::Forms::MouseButtons::Left) this->Location = System::Drawing::Point(this->Location.X+1, this->Location.Y+1);
}
virtual void OnMouseUp(System::Windows::Forms::MouseEventArgs ^e) override{
if(e->Button == System::Windows::Forms::MouseButtons::Left) this->Location = System::Drawing::Point(this->Location.X-1, this->Location.Y-1);
}
};
, как описано выше, я могу нормально изменять переменные, но когда я пытаюсь изменить их функции ... Он просто перестает выполнять другие функции.Я имею в виду, позже, когда я сделаю это ...
CustomButton ^encButton;
this->encButton->Click += gcnew System::EventHandler(this, &Form1::encButton_Click);
Он просто полностью игнорирует это, вообще не будет вызывать функцию encButton_Click.То же самое, если я попытаюсь сделать это mousedown / что угодно.
Я полагаю, я перезаписываю что-то, что мне не нравится делать ... Но я не могу придумать другой способ сделать то, что яя пытаюсь сделать?