Add notify icon and menu

This commit is contained in:
Jonathan Jenne 2023-06-29 16:54:06 +02:00
parent fcf688d4f2
commit 69da011eb3
5 changed files with 165 additions and 21 deletions

BIN
sltSync/App.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -28,15 +28,20 @@
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Me.ListBoxControl1 = New DevExpress.XtraEditors.ListBoxControl()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.btnSyncStart = New DevExpress.XtraBars.BarButtonItem()
Me.btnStopSync = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.SyncTimer = New System.Windows.Forms.Timer(Me.components)
Me.TrayIcon = New System.Windows.Forms.NotifyIcon(Me.components)
Me.TrayMenu = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.btnToggleWindow = New System.Windows.Forms.ToolStripMenuItem()
Me.btnExit = New System.Windows.Forms.ToolStripMenuItem()
CType(Me.ListBoxControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TrayMenu.SuspendLayout()
Me.SuspendLayout()
'
'ListBoxControl1
@ -63,19 +68,6 @@
Me.RibbonControl1.Size = New System.Drawing.Size(632, 63)
Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "RibbonPage1"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.btnSyncStart)
Me.RibbonPageGroup1.ItemLinks.Add(Me.btnStopSync)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
'
'btnSyncStart
'
Me.btnSyncStart.Caption = "Sync starten"
@ -91,6 +83,26 @@
Me.btnStopSync.ImageOptions.SvgImage = CType(resources.GetObject("btnStopSync.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnStopSync.Name = "btnStopSync"
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Log öffnen"
Me.BarButtonItem1.Id = 3
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "RibbonPage1"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.btnSyncStart)
Me.RibbonPageGroup1.ItemLinks.Add(Me.btnStopSync)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
@ -98,12 +110,33 @@
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
'
'BarButtonItem1
'SyncTimer
'
Me.BarButtonItem1.Caption = "Log öffnen"
Me.BarButtonItem1.Id = 3
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'TrayIcon
'
Me.TrayIcon.ContextMenuStrip = Me.TrayMenu
Me.TrayIcon.Icon = CType(resources.GetObject("TrayIcon.Icon"), System.Drawing.Icon)
Me.TrayIcon.Text = "sltSync"
Me.TrayIcon.Visible = True
'
'TrayMenu
'
Me.TrayMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.btnToggleWindow, Me.btnExit})
Me.TrayMenu.Name = "TrayMenu"
Me.TrayMenu.Size = New System.Drawing.Size(185, 48)
'
'btnToggleWindow
'
Me.btnToggleWindow.Name = "btnToggleWindow"
Me.btnToggleWindow.Size = New System.Drawing.Size(184, 22)
Me.btnToggleWindow.Text = "Anzeigen/Verstecken"
'
'btnExit
'
Me.btnExit.Name = "btnExit"
Me.btnExit.Size = New System.Drawing.Size(184, 22)
Me.btnExit.Text = "Beenden"
'
'frmMain
'
@ -118,6 +151,7 @@
Me.Text = "sltSync"
CType(Me.ListBoxControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.TrayMenu.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
@ -132,6 +166,10 @@
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents SyncTimer As Timer
Friend WithEvents TrayIcon As NotifyIcon
Friend WithEvents TrayMenu As ContextMenuStrip
Friend WithEvents btnToggleWindow As ToolStripMenuItem
Friend WithEvents btnExit As ToolStripMenuItem
#End Region

View File

@ -176,6 +176,89 @@
<metadata name="SyncTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="TrayIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>125, 17</value>
</metadata>
<metadata name="TrayMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>240, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="TrayIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wC4gk0AuIJNALiC
TQC4gk0AuIJNALiCTQC4gk0AuIJNOLiCTXi4gk2uuIJN2LiCTfW4gk31uIJN2LiCTa64gk14uIJNOLiC
TQC4gk0AuIJNALiCTQC4gk0AuIJNALiCTQD///8A////AP///wD///8A////AP///wD///8A////ALiC
TQC4gk0AuIJNALiCTQC4gk0AuIJNPbiCTZi4gk3vuIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iC
Tf+4gk3vuIJNmLiCTT24gk0AuIJNALiCTQC4gk0AuIJNAP///wD///8A////AP///wD///8A////AP//
/wD///8AuIJNALiCTQC4gk0AuIJNALiCTWq4gk3YuIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iC
Tf+4gk3/uIJN/7iCTf+4gk3/uIJN2LiCTWq4gk0AuIJNALiCTQC4gk0A////AP///wD///8A////AP//
/wD///8A////AP///wC4gk0AuIJNALiCTQC4gk15uIJN+LiCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iC
Tf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN+LiCTXm4gk0AuIJNALiCTQD///8A////AP//
/wD///8A////AP///wD///8A////ALiCTQC4gk0AuIJNariCTfi4gk3/uIJN/7iCTf+4gk3/uIJNubiC
TXK4gk04uIJND7iCTQ+4gk04uIJNcriCTbm4gk3/uIJN/7iCTf+4gk3/uIJN+LiCTWq4gk0AuIJNAP//
/wD///8A////AP///wD///8A////AP///wD///8AuIJNALiCTT24gk3YuIJN/7iCTf+4gk3/uIJN37iC
TXO4gk0M////AP///wD///8A////AP///wD///8AuIJNDLiCTXO4gk3fuIJN/7iCTf+4gk3/uIJN2LiC
TT24gk0A////AP///wD///8A////AP///wD///8A////AP///wC4gk0AuIJNmLiCTf+4gk3/uIJN/7iC
Td+4gk1c////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALiCTVy4gk3fuIJN/7iC
Tf+4gk3/uIJNmLiCTQD///8A////AP///wD///8A////AP///wD///8A////ALiCTTi4gk3vuIJN/7iC
Tf+4gk3/uIJNc////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ALiC
TXO4gk3/uIJN/7iCTf+4gk3vuIJNOP///wD///8A////AP///wD///8A////AP///wD///8AuIJNeLiC
Tf+4gk3/uIJN/7iCTbm4gk0M////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8AuIJNDLiCTbm4gk3/uIJN/7iCTf+4gk14////AP///wD///8A////AP///wD///8A////AP//
/wC4gk2uuIJN/7iCTf+4gk3/uIJNcv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8AuIJNcriCTf+4gk3/uIJN/7iCTa7///8A////AP///wD///8A////AP//
/wD///8A////ALiCTdi4gk3/uIJN/7iCTf+4gk04////AP///wD///8A////AP///wD///8AuIJN/7iC
Tf+4gk3/uIJN/7iCTf+4gk3/////AP///wC4gk04uIJN/7iCTf+4gk3/uIJN2P///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wC4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf////8A////ALiCTQ+4gk3/uIJN/7iCTf+4gk31////AP//
/wD///8A////AP///wD///8A////ALiCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iC
TX////8A////ALiCTf+4gk3/uIJNALiCTQC4gk0A////AP///wD///8AuIJND7iCTf+4gk3/uIJN/7iC
TfX///8A////AP///wD///8A////AP///wD///8AuIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iC
Tf+4gk1/uIJNAP///wD///8AuIJN/7iCTf+4gk0AuIJNALiCTQD///8A////AP///wC4gk04uIJN/7iC
Tf+4gk3/uIJN2P///wD///8A////AP///wD///8A////AP///wC4gk3/uIJN/7iCTf+4gk3/uIJN/7iC
Tf+4gk3/uIJNf7iCTQC4gk0A////AP///wC4gk3/uIJN/7iCTQC4gk0AuIJNAP///wD///8A////ALiC
TXK4gk3/uIJN/7iCTf+4gk2u////AP///wD///8A////AP///wD///8A////ALiCTf+4gk3/uIJN/7iC
Tf+4gk3/uIJN/7iCTYW4gk0AuIJNALiCTQD///8A////ALiCTf+4gk3/uIJNALiCTQC4gk0A////AP//
/wC4gk0MuIJNubiCTf+4gk3/uIJN/7iCTXj///8A////AP///wD///8A////AP///wD///8AuIJN/7iC
Tf+4gk3/uIJN/7iCTf+4gk3/uIJNc7iCTQC4gk0AuIJNAP///wD///8AuIJN/7iCTf+4gk0AuIJNALiC
TQD///8A////ALiCTXO4gk3/uIJN/7iCTf+4gk3vuIJNOP///wD///8A////AP///wD///8A////AP//
/wC4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3fuIJNXLiCTQC4gk0A////AP///wC4gk3/uIJN/7iC
TQC4gk0AuIJNAP///wC4gk1cuIJN37iCTf+4gk3/uIJN/7iCTZi4gk0A////AP///wD///8A////AP//
/wD///8A////ALiCTf+4gk3/uIJN/7iCTeu4gk3/uIJN/7iCTf+4gk3fuIJNc7iCTQz///8A////AP//
/wD///8A////AP///wC4gk0MuIJNc7iCTd+4gk3/uIJN/7iCTf+4gk3YuIJNPbiCTQD///8A////AP//
/wD///8A////AP///wD///8AuIJN/7iCTf+4gk1/uIJNariCTfi4gk3/uIJN/7iCTf+4gk3/uIJNubiC
TXK4gk04uIJND7iCTQ+4gk04uIJNcriCTbm4gk3/uIJN/7iCTf+4gk3/uIJN+LiCTWq4gk0AuIJNAP//
/wD///8A////AP///wD///8A////AP///wC4gk3/uIJNf7iCTQC4gk0AuIJNebiCTfi4gk3/uIJN/7iC
Tf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTfi4gk15uIJNALiC
TQC4gk0A////AP///wD///8A////AP///wD///8A////ALiCTX+4gk0AuIJNALiCTQC4gk0AuIJNariC
Tdi4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3YuIJNariC
TQC4gk0AuIJNALiCTQD///8A////AP///wD///8A////AP///wD///8A////ALiCTQC4gk0AuIJNALiC
TQC4gk0AuIJNPbiCTZi4gk3vuIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3/uIJN/7iCTf+4gk3vuIJNmLiC
TT24gk0AuIJNALiCTQC4gk0AuIJNAP///wD///8A////AP///wD///8A////AP///wD///8AuIJNALiC
TQC4gk0AuIJNALiCTQC4gk0AuIJNALiCTTi4gk14uIJNrriCTdi4gk31uIJN9biCTdi4gk2uuIJNeLiC
TTi4gk0AuIJNALiCTQC4gk0AuIJNALiCTQC4gk0A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
/wD///8A////AP///wD///8A///////////////////////gB///gAH//wAA//4AAH/8AAA/+AfgH/gf
+B/wP/wP8D/8D/B//g/wfgYP//4GD+AGfg/gDn4P4B5+D+A+fA/gPnwP4B54H+AH4B/gAAA/5gAAf+8A
AP//gAH//+AH//////////////////////8=
</value>
</data>
<data name="frmMain.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40

View File

@ -243,5 +243,25 @@ Partial Public Class frmMain
StopTimer()
End Sub
Private Sub btnToggleWindow_Click(sender As Object, e As EventArgs) Handles btnToggleWindow.Click
ToggleWindow()
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Close()
End Sub
Private Sub TrayIcon_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles TrayIcon.MouseDoubleClick
ToggleWindow()
End Sub
Private Sub ToggleWindow()
If Visible = True Then
Hide()
Else
WindowState = FormWindowState.Minimized
Show()
WindowState = FormWindowState.Normal
End If
End Sub
End Class

View File

@ -150,6 +150,9 @@
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="App.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.