Обработчик событий работает, но метод не работает
Всем доброе утро
я вызываю 2 метода из класса, который я предполагаю как класс" hiddenButton".
один из них-установить видимость кнопки
другой метод-скрыть кнопку
я уже инициализирую кнопку и скрываю ее после запуска программы
чтобы показать кнопку из hiddenButton
я должен нажать на кнопку из основной формы, и я предполагаю, что это "показать кнопку"
если я нажму на кнопку "Показать", она на самом деле скроет эту кнопку
не удаляя eventhandler, когда я нажимаю на кнопку "Показать", она должна быть show and hide my button
но моя кнопка из класса "hiddenButton" показывает и скрывает только один раз, а потом больше не работает.
Я уже пробую свой eventhandler с помощью messagebox, когда я нажимаю на кнопку "Показать", он на самом деле всплывает messagebox без каких-либо проблем
поэтому мне интересно, почему кнопка "скрытая кнопка" только один раз показывает и скрывает, а потом не работает
это потому, что моя кнопка на самом деле была установлена на том же месте, что и другой объект в форме?
Что я уже пробовал:
из основного кода
<br /> dim _hiddenButton as new hiddenButton<br /> _hiddenButton.initButton(form1) 'add button to form 1<br /> dim _otherElement as new otherElement<br /> _otherElement.initElement(from1) 'add other element to form1<br /> dim _button as button = new button<br /> with _button<br /> .text = "show button"<br /> addhandler .mouseclick, addressof bmClicked<br /> end with<br /> form1.controls.add(_button)<br /> <br /> private sub bmClicked(byval sender as object, byval e as eventargs)<br /> dim _button as button = sender<br /> <br /> with _button<br /> if .text = "Show Me" then<br /> .text = "Hide me"<br /> hiddenButton.buttonShow()<br /> else if .text = "Hide Me" then<br /> .text = "Sow Me" then<br /> hiddenButton.hideButton()<br /> end with<br /> end sub<br />
код из класса hiddenButton
<pre lang="vb"> private shared _button as button public sub initButton(byval formName as form) _button = new button with _button .text = "hello code project" .size = new size(100, 100) .location = new point(30,30) .visible = false end with formName.controls.add(_button) end sub public shared sub buttonShow() _button.visible = true end sub public shared sub buttonHide() _button.visible = false end sub
класс от otherElement
private _backgroundPanel as panel public sub initElement(byval fromName as form) _backgroundPanel = new panel with _backgroundpanel .backgroundcolor = color.black .size = new size (screen.primaryscreen.bounds.width, screen.primaryscreen.bounds.height) .location = new point(0,0) end with formName.controls.add(_background) end sub