есть Form1 для которой я добавил контрол NotifyIcon1 как сделать так, чтобы в трее по клику правой кнопки мыши открывалось меню? и в taskbar'е нужно тоже самое.
п.с. почему то при закрытии программы, иконка в трее продолжает висеть (пока не наведешь курсор мышки), это проблемы винды или в самой программе можно как-то исправить?
нужно добавить ContextMenu, в него добавить требуемые элементы меню. Затем у NotifyIcon1 в свойстве ContextMenu поставить ссылку на это меню.
п.с. почему то при закрытии программы,
такое случается только при жесткой вырубке программы. В процессе разработки, чаще всего, при остановке программы (остановка отладки). Если программу закрывать корректно, то иконка должна выгружаться.
--
- Нашел ответ самостоятельно, расскажи всем!
- Незабываем нажимать на Спасибо (пометить ответ, как правильный)! ;-) - Помни: Одна тема - один вопрос! - ... ()
такое случается только при жесткой вырубке программы. В процессе разработки, чаще всего, при остановке программы (остановка отладки).
точно :)
нужно добавить ContextMenu, в него добавить требуемые элементы меню. Затем у NotifyIcon1 в свойстве ContextMenu поставить ссылку на это меню.
это я сделал, все отлично. но у меня уже есть такое событие:
001:
002:
003:
004:
005:
006:
007:
PrivateSub NotifyIcon1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles NotifyIcon1.MouseClick
IfMe.WindowState = FormWindowState.Minimized Then
Me.WindowState = FormWindowState.Normal
Me.ShowInTaskbar = True
NotifyIcon1.Visible = False
EndIf
EndSub
поэтому контексного меню я так и не вижу :) как мне разграничить события на левую и правую кнопку мышки? + не понятно как добавить в taskbar данный contexmenustrip1
еще один маленький и глупый вопрос :) вот сделал чтобы программа сворачивалась в трей, сделал там меню, одна из кнопок которого "Закрыть" так вот, что я должен написать в событии чтобы у меня программа закрывалась? я всегда думал Me.Close(), но не работает :)
В параметрах приложения можно установить поведение при закрытии форм. В том числе, можно сделать так, чтобы приложение завершало работу после закрытия основной формы (Me.Close).
Application.Exit
--
- Нашел ответ самостоятельно, расскажи всем!
- Незабываем нажимать на Спасибо (пометить ответ, как правильный)! ;-) - Помни: Одна тема - один вопрос! - ... ()
еще вопросик, когда я сворачиваю программу, она вроде и сворачивается, но на рабочем столе остаеться маленькое окошко этой программы, (в районе меню пуск) если после этого я нажму "свернуть все окна", то она пропадает. как сделать чтобы она сразу пропадала?
странно, сделал событие Resize (пробывал также SizeChanged) проблема так и осталась. даже увеличилась :) теперь когда программа свернута в трей, и я щелкаю по ней ЛКМ, то программа просто пропадает из всех мест :) (остается только висеть в процессах)
еще вопросик, когда я сворачиваю программу, она вроде и сворачивается, но на рабочем столе остаеться маленькое окошко этой программы, (в районе меню пуск) если после этого я нажму "свернуть все окна", то она пропадает.
скриншот в студию!
--
- Нашел ответ самостоятельно, расскажи всем!
- Незабываем нажимать на Спасибо (пометить ответ, как правильный)! ;-) - Помни: Одна тема - один вопрос! - ... ()
да было такое в коде. сейчас убрал. (сворачивается как надо) но теперь почему то, когда программа свернута в трей, и я щелкаю по ней ЛКМ, то программа просто пропадает из всех мест :) (остается только висеть в процессах)
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
PrivateSub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)HandlesMe.FormClosing
If CheckBox26.Checked AndAlsoMe.WindowState = FormWindowState.Normal Then
e.Cancel = True
Me.WindowState = FormWindowState.Minimized
IfMe.WindowState = FormWindowState.Minimized AndAlso CheckBox25.Checked Then
Me.Visible = False
NotifyIcon1.Visible = True
EndIf
EndIf
EndSub
001:
002:
003:
004:
005:
006:
007:
PrivateSub NotifyIcon1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)Handles NotifyIcon1.MouseClick
а что в этих строчках не так? изначально у notifyicon1.visible значение false (когда программа открыта, значек в трее мне не нужен) затем когда я сворачиваю, мне нужно чтобы NotifyIcon1.Visible принимал значение True потом я снова хочу развернуть программу, и чтобы значек в трее исчез. или я что-то не так понял?