Консольное приложение vb.net, использующее отправителя в качестве объекта и e в качестве EventArgs
У меня есть следующий код, который позволяет моему консольному приложению переходить в трей со значком:
Sub Main()
Dim tray As New NotifyIcon()
tray.Icon = My.Resources.phoneIcon
tray.Text = "Left Click to show console window"
tray.Visible = True
AddHandler tray.Click, AddressOf iconClicked
ShowWindow(int, False)
System.Windows.Forms.Application.Run()
End Sub
Private Sub iconClicked(ByVal sender As Object, ByVal e As EventArgs)
if mouseLeft then
ShowWindow(int, True)
else
ShowWindow(int, False)
end if
End Sub
Это также позволяет восстанавливать консоль при щелчке левой кнопкой мыши на значке в трее. Проблема в том, что мне нужно щелкнуть правой кнопкой мыши, чтобы вернуть его обратно.
Как я могу использовать ByVal e As EventArgs или ByVal sender As Object, чтобы определить, какая кнопка мыши нажата?
1 ответ
Решение
Что вам нужно сделать, это изменить строку Sub iconClicked
использовать MouseEventArgs, а не EventArgs; вот так:
Private Sub iconClicked(ByVal sender As Object, ByVal e As MouseEventArgs)
Тот, который вы сделали, вы можете использовать e.Button
чтобы выяснить, какую кнопку нажал пользователь.