Подскажите как сделать (или где найти) чтоб при закрытии формы на "крестик" она сворачивалась в трей, а при клике по иконке в трее разворачивалась (закрытие будет по кнопке в меню)
vb.net(2008)
Всё просто:
На событие Form.Closed()(или Form.Closing, я не помню, а проверять счас времени нету) ставиш появление контрола (NotifyIcon1.Visible = True) (предварительно добавив его на форму ,и установив это свойство в False).
Спасибо, получилось! (по Closing).
Все окзалось не так сложно, даже контекстное меню к иконке сделал чисто интуитивно.
Подскажите, как отследить что по иконке щелкнули левой кнопкой, а не правой?
Дело в том что при щелчке правой кнопкой по иконке надо чтоб открывалось контекстное меню, а по щелчку левой менялось свойство видимости формы. Контекстное меню привязалось к правой кнопке само, но если поставить изменение видимости на событие "клик", то видимость меняется и при вызове контекстного меню правой кнопкой....
Да, про мышь так и есть ), благодарю.
Код, если кому интересно:
If Button.MouseButtons = Windows.Forms.MouseButtons.None Then Me.Visible = Not Me.Visible
Странно что пришлось поставить Windows.Forms.MouseButtons.None, а не Windows.Forms.MouseButtons.Left... странно потому что если ставить right или middle, то на правую кнопку и на среднюю все работает, а на левую нет, методом тыка заработало на none.
Рано обрадовался с Closing, при нажатии на крестик все равно форма закрывается, надо же еще кроме отображения иконки добавить код отмены закрытия?.... Как сделать чтоб не закрывалась программа?
И еще подскажите событие при сворачивании и разворачивании формы (черточка и квадратик рядом с крестиком).
Ilya
Я это и написал. Но что толку делать Form.Visible = False в событии Form.Closing если сразу после того как форма скрывается она же и выгружается?
а чтоб она не выгружалась надо оказывается перед Visible = False написать e.Cancel = True.
И если кто будет этим пользоваться надо ввести логическую переменную и по ней устанавливать e.Cancel = True иначе форма никогда не выгрузится (никогда не произойдет событие Form.Closing).