From 8ec00bbda75359b31721d42b408913e6a707c135 Mon Sep 17 00:00:00 2001 From: MyBlueHorizon Date: Sun, 12 Sep 2021 22:04:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=88=B0=E6=96=B0=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=9F=BA=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ClassTable/App.config | 76 +++---- src/ClassTable/Application.xaml | 2 +- src/ClassTable/ClassTable.vbproj | 98 ++++----- src/ClassTable/{Core.vb => LegacyCore.vb} | 4 +- src/ClassTable/{Excel.vb => LegacyExcel.vb} | 4 +- .../{Network.vb => LegacyNetwork.vb} | 2 +- ...ngWindow.xaml => LegacySettingWindow.xaml} | 4 +- ...ow.xaml.vb => LegacySettingWindow.xaml.vb} | 6 +- src/ClassTable/LegacySidebarWindow.xaml | 31 +++ src/ClassTable/LegacySidebarWindow.xaml.vb | 194 ++++++++++++++++++ ...ateWindow.xaml => LegacyUpdateWindow.xaml} | 2 +- ...dow.xaml.vb => LegacyUpdateWindow.xaml.vb} | 6 +- src/ClassTable/MainWindow.xaml | 23 +-- src/ClassTable/MainWindow.xaml.vb | 193 +---------------- src/ClassTable/My Project/AssemblyInfo.vb | 14 +- .../My Project/Resources.Designer.vb | 14 +- src/ClassTable/My Project/Resources.resx | 4 +- .../My Project/Settings.Designer.vb | 4 +- src/ClassTable/My Project/app.manifest | 75 ------- .../Icon.ico => Resource/Icons/AppIcon.ico} | Bin .../Icons}/TableIcon.ico | Bin src/ClassTable/Resource/SplashScreen.png | Bin 0 -> 4714 bytes src/ClassTable/SplashScreen.png | Bin 1496 -> 0 bytes src/ClassTable/packages.config | 2 +- 24 files changed, 335 insertions(+), 423 deletions(-) rename src/ClassTable/{Core.vb => LegacyCore.vb} (97%) rename src/ClassTable/{Excel.vb => LegacyExcel.vb} (98%) rename src/ClassTable/{Network.vb => LegacyNetwork.vb} (98%) rename src/ClassTable/{SettingWindow.xaml => LegacySettingWindow.xaml} (98%) rename src/ClassTable/{SettingWindow.xaml.vb => LegacySettingWindow.xaml.vb} (98%) create mode 100644 src/ClassTable/LegacySidebarWindow.xaml create mode 100644 src/ClassTable/LegacySidebarWindow.xaml.vb rename src/ClassTable/{UpdateWindow.xaml => LegacyUpdateWindow.xaml} (98%) rename src/ClassTable/{UpdateWindow.xaml.vb => LegacyUpdateWindow.xaml.vb} (96%) delete mode 100644 src/ClassTable/My Project/app.manifest rename src/ClassTable/{Resources/Icon.ico => Resource/Icons/AppIcon.ico} (100%) rename src/ClassTable/{Resources => Resource/Icons}/TableIcon.ico (100%) create mode 100644 src/ClassTable/Resource/SplashScreen.png delete mode 100644 src/ClassTable/SplashScreen.png diff --git a/src/ClassTable/App.config b/src/ClassTable/App.config index d67f619..a4189a2 100644 --- a/src/ClassTable/App.config +++ b/src/ClassTable/App.config @@ -8,48 +8,11 @@ - - - - Wide - - - 0 - - - 96 - - - 96 - - - 122 - - - 255 - - - 255 - - - 255 - - - 255 - - - No - - - 0 - - - - + @@ -57,4 +20,41 @@ + + + + Wide + + + 0 + + + 96 + + + 96 + + + 122 + + + 255 + + + 255 + + + 255 + + + 255 + + + No + + + 0 + + + \ No newline at end of file diff --git a/src/ClassTable/Application.xaml b/src/ClassTable/Application.xaml index 121bf32..4f07095 100644 --- a/src/ClassTable/Application.xaml +++ b/src/ClassTable/Application.xaml @@ -2,7 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:ClassTable" - StartupUri="MainWindow.xaml"> + StartupUri="LegacySidebarWindow.xaml"> diff --git a/src/ClassTable/ClassTable.vbproj b/src/ClassTable/ClassTable.vbproj index 8488335..a687779 100644 --- a/src/ClassTable/ClassTable.vbproj +++ b/src/ClassTable/ClassTable.vbproj @@ -12,23 +12,6 @@ Custom true true - false - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - true - - AnyCPU @@ -66,17 +49,14 @@ On - Resources\Icon.ico - - - My Project\app.manifest + Resource\Icons\AppIcon.ico ..\packages\ClosedXML.0.95.4\lib\net46\ClosedXML.dll - - ..\packages\DocumentFormat.OpenXml.2.13.0\lib\net46\DocumentFormat.OpenXml.dll + + ..\packages\DocumentFormat.OpenXml.2.13.1\lib\net46\DocumentFormat.OpenXml.dll ..\packages\ExcelNumberFormat.1.1.0\lib\net20\ExcelNumberFormat.dll @@ -117,16 +97,18 @@ MSBuild:Compile Designer - - - - SettingWindow.xaml - Code - - - UpdateWindow.xaml - Code - + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + MSBuild:Compile Designer @@ -135,19 +117,22 @@ Application.xaml Code - + + + + + LegacySettingWindow.xaml + + + LegacySidebarWindow.xaml + + + LegacyUpdateWindow.xaml + MainWindow.xaml Code - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - @@ -187,43 +172,30 @@ True - PublicVbMyResourcesResXFileCodeGenerator + VbMyResourcesResXFileCodeGenerator Resources.Designer.vb My.Resources + Designer - - PublicSettingsSingleFileGenerator + SettingsSingleFileGenerator Settings.Designer.vb - + - - False - Microsoft .NET Framework 4.7.2 %28x86 和 x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - + - + - - Always - + + \ No newline at end of file diff --git a/src/ClassTable/Core.vb b/src/ClassTable/LegacyCore.vb similarity index 97% rename from src/ClassTable/Core.vb rename to src/ClassTable/LegacyCore.vb index 887d78a..9c4f1a8 100644 --- a/src/ClassTable/Core.vb +++ b/src/ClassTable/LegacyCore.vb @@ -1,4 +1,4 @@ -Public Class Core +Public Class LegacyCore '字符串转换 @@ -51,4 +51,4 @@ Dim WindowBrush As Brush = New SolidColorBrush(Color.FromArgb(A, R, G, B)) Return WindowBrush End Function -End Class +End Class \ No newline at end of file diff --git a/src/ClassTable/Excel.vb b/src/ClassTable/LegacyExcel.vb similarity index 98% rename from src/ClassTable/Excel.vb rename to src/ClassTable/LegacyExcel.vb index d2e3344..94940b4 100644 --- a/src/ClassTable/Excel.vb +++ b/src/ClassTable/LegacyExcel.vb @@ -1,7 +1,7 @@ Imports Newtonsoft.Json Imports ClosedXML.Excel Imports System.IO -Public Class Excel +Public Class LegacyExcel '读取表格部分 @@ -23,4 +23,4 @@ Public Class Excel Dim ClassName As String = GetName(ClassBlock) Return ClassName End Function -End Class +End Class \ No newline at end of file diff --git a/src/ClassTable/Network.vb b/src/ClassTable/LegacyNetwork.vb similarity index 98% rename from src/ClassTable/Network.vb rename to src/ClassTable/LegacyNetwork.vb index 13f6b36..cae4591 100644 --- a/src/ClassTable/Network.vb +++ b/src/ClassTable/LegacyNetwork.vb @@ -1,7 +1,7 @@ Imports System.IO Imports System.Net Imports Newtonsoft.Json -Public Class Network +Public Class LegacyNetwork '网络与更新部分 diff --git a/src/ClassTable/SettingWindow.xaml b/src/ClassTable/LegacySettingWindow.xaml similarity index 98% rename from src/ClassTable/SettingWindow.xaml rename to src/ClassTable/LegacySettingWindow.xaml index 4659161..4b02218 100644 --- a/src/ClassTable/SettingWindow.xaml +++ b/src/ClassTable/LegacySettingWindow.xaml @@ -1,9 +1,9 @@ - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/ClassTable/LegacySidebarWindow.xaml.vb b/src/ClassTable/LegacySidebarWindow.xaml.vb new file mode 100644 index 0000000..54713ec --- /dev/null +++ b/src/ClassTable/LegacySidebarWindow.xaml.vb @@ -0,0 +1,194 @@ +Imports System.Windows.Forms +Imports System.Drawing +Public Class LegacySidebarWindow + ReadOnly Core As New ClassTable.LegacyCore + ReadOnly Excel As New ClassTable.LegacyExcel + ReadOnly Network As New ClassTable.LegacyNetwork + '读取配置文件 + Private Event ReadConfigInformation(ByVal sender As Object, ByVal e As EventArgs) + Private Sub MainWindow_ReadConfigInformation(sender As Object, e As EventArgs) Handles Me.ReadConfigInformation + '设置窗口大小 + Select Case My.Settings.WindowMode + Case "Wide" + Width = 96 + Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 96 + Case "Narrow" + Width = 48 + Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 48 + End Select + '设置颜色 + Background = Core.GetWindowBrush(My.Settings.BackgroundColor_Red, My.Settings.BackgroundColor_Green, My.Settings.BackgroundColor_Blue, My.Settings.BackgroundColor_Alpha) + MorWeekday.Foreground = Core.GetWindowBrush(My.Settings.ForegroundColor_Red, My.Settings.ForegroundColor_Green, My.Settings.ForegroundColor_Blue, My.Settings.ForegroundColor_Alpha) + End Sub + '显示设置窗口 + Private Event ShowSettingWindow(ByVal sender As Object, ByVal e As EventArgs) + ReadOnly MySettingWindow As New LegacySettingWindow + Private Sub MainWindow_ShowSettingWindow(sender As Object, e As EventArgs) Handles Me.ShowSettingWindow + MySettingWindow.ShowDialog() + End Sub + '显示更新窗口 + Private Event ShowUpdateWindow(ByVal sender As Object, ByVal e As EventArgs) + ReadOnly MyUpdateWindow As New LegacyUpdateWindow + Private Sub MainWindow_ShowUpdateWindow(sender As Object, e As EventArgs) Handles Me.ShowUpdateWindow + MyUpdateWindow.ShowDialog() + End Sub + ReadOnly ScreenDPI = Graphics.FromHwnd(IntPtr.Zero) + ReadOnly Apppart = AppDomain.CurrentDomain.BaseDirectory + Public Shared NowWeekday = Weekday(DateValue(DateString)) + Public Event LoadTable(ByVal sender As Object, ByVal e As EventArgs) + Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded + RaiseEvent InitializeNotifyIcon(Me, New EventArgs) + '载入课表 + RaiseEvent LoadTable(Me, New EventArgs) + RaiseEvent ReadConfigInformation(Me, New EventArgs) + LegacyUpdateWindow.ReleaseInformation = Network.GetReleaseInformation + LegacyUpdateWindow.LatestVersion = New Version(Network.GetLatestVersion(LegacyUpdateWindow.ReleaseInformation)) + If LegacyUpdateWindow.LatestVersion > LegacyUpdateWindow.LocalVersion Then + RaiseEvent ShowUpdateWindow(Me, New EventArgs) + End If + End Sub + Private Sub MainWindow_LoadTable(sender As Object, e As EventArgs) Handles Me.LoadTable + '设置日期 + If My.Settings.Mdate = "No" Then + Else + NowWeekday = My.Settings.Mdate + My.Settings.Mdate = "No" + My.Settings.Save() + End If + '判断文字长度 + Select Case My.Settings.WindowMode + Case "Wide" + MorWeekday.Text = Core.AddSpace(Core.GetChineseFullWeekName(NowWeekday), 1, 1) + Case "Narrow" + MorWeekday.Text = Core.AddSpace(Core.GetChineseWeekLiteName(NowWeekday), 1, 5) + End Select + '开始载入 + Dim WeekSheet = Core.GetChineseFullWeekName(NowWeekday) + Dim ClassJsonString As String = Excel.GetTableInformation(WeekSheet) + MorRead.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeA"), 1, 1) + MorA.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeB"), 1, 1) + MorB.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeC"), 1, 1) + MorC.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeD"), 1, 1) + MorD.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeE"), 1, 1) + MorE.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeF"), 1, 1) + MorF.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeG"), 1, 1) + MorG.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeH"), 1, 1) + MorH.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeI"), 1, 1) + MorI.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeJ"), 1, 1) + MorJ.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeK"), 1, 1) + MorStudy.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeL"), 1, 1) + End Sub + '调整窗口大小 + Private Sub MainWindow_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseDoubleClick + If Width = 48 Then + Width = 96 + Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 96 + MorWeekday.Text = Core.AddSpace(Core.GetChineseFullWeekName(NowWeekday), 1, 1) + Else + Width = 48 + Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 48 + MorWeekday.Text = Core.AddSpace(Core.GetChineseWeekLiteName(NowWeekday), 1, 5) + End If + End Sub + '设置/取消窗口置顶 + Private Sub MorWeekday_MouseDown(sender As Object, e As MouseButtonEventArgs) Handles MorWeekday.MouseDown + If Topmost = True Then + Topmost = False + NotifyIconToolStripMenuItemTop.Checked = False + Else + Topmost = True + NotifyIconToolStripMenuItemTop.Checked = True + End If + End Sub + '启动设置窗口 + Private Sub MorWeekday_MouseRightButtonDown(sender As Object, e As MouseButtonEventArgs) Handles MorWeekday.MouseRightButtonDown + RaiseEvent ShowSettingWindow(Me, New EventArgs) + End Sub + Private Sub MainWindow_Closed(sender As Object, e As EventArgs) Handles Me.Closed + '存储窗口大小设定 + If Width = 48 Then + My.Settings.WindowMode = "Narrow" + Else + My.Settings.WindowMode = "Wide" + End If + My.Settings.Save() + End Sub + '通知区域 + ReadOnly MyNotifyIcon As NotifyIcon = New NotifyIcon + Private Event InitializeNotifyIcon(ByVal sender As Object, ByVal e As EventArgs) + Dim WithEvents NotifyIconContextMenuStrip As ContextMenuStrip = New ContextMenuStrip + Dim WithEvents NotifyIconToolStripMenuItemQuickly As ToolStripMenuItem = New ToolStripMenuItem + Dim WithEvents NotifyIconToolStripMenuItemEdit As ToolStripMenuItem = New ToolStripMenuItem + Dim WithEvents NotifyIconToolStripMenuItemUp As ToolStripMenuItem = New ToolStripMenuItem + Dim WithEvents NotifyIconToolStripMenuItemAbout As ToolStripMenuItem = New ToolStripMenuItem + Dim WithEvents NotifyIconToolStripMenuItemSetting As ToolStripMenuItem = New ToolStripMenuItem + Dim WithEvents NotifyIconToolStripMenuItemHide As ToolStripMenuItem = New ToolStripMenuItem + Dim WithEvents NotifyIconToolStripMenuItemTop As ToolStripMenuItem = New ToolStripMenuItem + Dim WithEvents NotifyIconToolStripMenuItemExit As ToolStripMenuItem = New ToolStripMenuItem + Private Sub MainWindow_InitializeNotifyIcon(sender As Object, e As EventArgs) Handles Me.InitializeNotifyIcon + + '初始化通知图标 + MyNotifyIcon.Icon = My.Resources.AppIcon + MyNotifyIcon.Visible = True + MyNotifyIcon.Text = "ClassTable" + MyNotifyIcon.ContextMenuStrip = NotifyIconContextMenuStrip + + '初始化右键菜单 + NotifyIconToolStripMenuItemQuickly.Text = "快捷设置" + NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemQuickly) + + NotifyIconToolStripMenuItemSetting.Text = "高级设置" + NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemSetting) + NotifyIconToolStripMenuItemEdit.Text = "编辑" + NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemEdit) + NotifyIconToolStripMenuItemUp.Text = "更新" + NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemUp) + NotifyIconToolStripMenuItemAbout.Text = "关于" + NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemAbout) + + NotifyIconToolStripMenuItemTop.Text = "置顶" + NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemTop) + 'NotifyIconToolStripMenuItemHide.Text = "隐藏" + 'NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemHide) + NotifyIconToolStripMenuItemExit.Text = "关闭" + NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemExit) + + End Sub + Private Sub NotifyIconContextMenuStrip_Click(sender As Object, e As EventArgs) Handles NotifyIconContextMenuStrip.Click + Show() + NotifyIconToolStripMenuItemHide.Checked = True + End Sub + Private Sub NotifyIconToolStripMenuItemSetting_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemSetting.Click + RaiseEvent ShowSettingWindow(Me, New EventArgs) + End Sub + Private Sub NotifyIconToolStripMenuItemEdit_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemEdit.Click + Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\ATHS Studio\ClassTable\tablefile.xlsx") + End Sub + Private Sub NotifyIconToolStripMenuItemUp_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemUp.Click + RaiseEvent ShowUpdateWindow(Me, New EventArgs) + End Sub + Private Sub NotifyIconToolStripMenuItemAbout_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemAbout.Click + MsgBox("本产品使用的第三方库:" & vbCrLf & "Newtonsoft.Json" & vbCrLf & "ClosedXML" & vbCrLf & "访问 mybluehorizon.github.io/classtable 获得支持" & vbCrLf & "© ATHS Studio 2016 - 2020", Title:="ClassTable 桌面课表", Buttons:=MsgBoxStyle.Information) + End Sub + Private Sub NotifyIconToolStripMenuItemTop_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemTop.Click + If NotifyIconToolStripMenuItemTop.Checked = True Then + NotifyIconToolStripMenuItemTop.Checked = False + Topmost = False + Else + Topmost = True + NotifyIconToolStripMenuItemTop.Checked = True + End If + End Sub + 'Private Sub NotifyIconToolStripMenuItemHide_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemHide.Click + ' If NotifyIconToolStripMenuItemHide.Checked = True Then + ' NotifyIconToolStripMenuItemHide.Checked = False + ' Show() + ' Else + ' Hide() + ' NotifyIconToolStripMenuItemHide.Checked = True + ' End If + 'End Sub + Private Sub NotifyIconToolStripMenuItemExit_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemExit.Click + System.Windows.Application.Current.Shutdown() + End Sub +End Class diff --git a/src/ClassTable/UpdateWindow.xaml b/src/ClassTable/LegacyUpdateWindow.xaml similarity index 98% rename from src/ClassTable/UpdateWindow.xaml rename to src/ClassTable/LegacyUpdateWindow.xaml index ae23a42..9467e17 100644 --- a/src/ClassTable/UpdateWindow.xaml +++ b/src/ClassTable/LegacyUpdateWindow.xaml @@ -1,4 +1,4 @@ - + Title="MainWindow" Height="450" Width="800"> - - - - - - - - - - - - - + diff --git a/src/ClassTable/MainWindow.xaml.vb b/src/ClassTable/MainWindow.xaml.vb index c133b1b..922a5de 100644 --- a/src/ClassTable/MainWindow.xaml.vb +++ b/src/ClassTable/MainWindow.xaml.vb @@ -1,194 +1,3 @@ -Imports System.Windows.Forms -Imports System.Drawing -Public Class MainWindow - ReadOnly Core As New ClassTable.Core - ReadOnly Excel As New ClassTable.Excel - ReadOnly Network As New ClassTable.Network - '读取配置文件 - Private Event ReadConfigInformation(ByVal sender As Object, ByVal e As EventArgs) - Private Sub MainWindow_ReadConfigInformation(sender As Object, e As EventArgs) Handles Me.ReadConfigInformation - '设置窗口大小 - Select Case My.Settings.WindowMode - Case "Wide" - Width = 96 - Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 96 - Case "Narrow" - Width = 48 - Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 48 - End Select - '设置颜色 - Background = Core.GetWindowBrush(My.Settings.BackgroundColor_Red, My.Settings.BackgroundColor_Green, My.Settings.BackgroundColor_Blue, My.Settings.BackgroundColor_Alpha) - MorWeekday.Foreground = Core.GetWindowBrush(My.Settings.ForegroundColor_Red, My.Settings.ForegroundColor_Green, My.Settings.ForegroundColor_Blue, My.Settings.ForegroundColor_Alpha) - '设置日期 - If My.Settings.Mdate = "No" Then - Else - NowWeekday = My.Settings.Mdate - My.Settings.Mdate = "No" - My.Settings.Save() - End If - End Sub - '显示设置窗口 - Private Event ShowSettingWindow(ByVal sender As Object, ByVal e As EventArgs) - ReadOnly MySettingWindow As New SettingWindow - Private Sub MainWindow_ShowSettingWindow(sender As Object, e As EventArgs) Handles Me.ShowSettingWindow - MySettingWindow.ShowDialog() - End Sub - '显示更新窗口 - Private Event ShowUpdateWindow(ByVal sender As Object, ByVal e As EventArgs) - ReadOnly MyUpdateWindow As New UpdateWindow - Private Sub MainWindow_ShowUpdateWindow(sender As Object, e As EventArgs) Handles Me.ShowUpdateWindow - MyUpdateWindow.ShowDialog() - End Sub - ReadOnly ScreenDPI = Graphics.FromHwnd(IntPtr.Zero) - ReadOnly Apppart = AppDomain.CurrentDomain.BaseDirectory - Public Shared NowWeekday = Weekday(DateValue(DateString)) - Public Event LoadTable(ByVal sender As Object, ByVal e As EventArgs) - Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded - RaiseEvent InitializeNotifyIcon(Me, New EventArgs) - RaiseEvent ReadConfigInformation(Me, New EventArgs) - '载入课表 - RaiseEvent LoadTable(Me, New EventArgs) - UpdateWindow.ReleaseInformation = Network.GetReleaseInformation - UpdateWindow.LatestVersion = New Version(Network.GetLatestVersion(UpdateWindow.ReleaseInformation)) - If UpdateWindow.LatestVersion > UpdateWindow.LocalVersion Then - RaiseEvent ShowUpdateWindow(Me, New EventArgs) - End If - End Sub - Private Sub MainWindow_LoadTable(sender As Object, e As EventArgs) Handles Me.LoadTable - '判断文字长度 - Select Case Width - Case 96 - MorWeekday.Text = Core.AddSpace(Core.GetChineseFullWeekName(NowWeekday), 1, 1) - Case 48 - MorWeekday.Text = Core.AddSpace(Core.GetChineseWeekLiteName(NowWeekday), 1, 5) - End Select - '开始载入 - Dim WeekSheet = Core.GetChineseFullWeekName(NowWeekday) - Dim ClassJsonString As String = Excel.GetTableInformation(WeekSheet) - MorRead.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeA"), 1, 1) - MorA.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeB"), 1, 1) - MorB.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeC"), 1, 1) - MorC.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeD"), 1, 1) - MorD.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeE"), 1, 1) - MorE.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeF"), 1, 1) - MorF.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeG"), 1, 1) - MorG.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeH"), 1, 1) - MorH.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeI"), 1, 1) - MorI.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeJ"), 1, 1) - MorJ.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeK"), 1, 1) - MorStudy.Text = Core.AddSpace(Excel.GetClassName(ClassJsonString, "RangeL"), 1, 1) - End Sub - '调整窗口大小 - Private Sub MainWindow_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseDoubleClick - If Width = 48 Then - Width = 96 - Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 96 - MorWeekday.Text = Core.AddSpace(Core.GetChineseFullWeekName(NowWeekday), 1, 1) - Else - Width = 48 - Left = Screen.PrimaryScreen.WorkingArea.Width / (ScreenDPI.dpix / 96) - 48 - MorWeekday.Text = Core.AddSpace(Core.GetChineseWeekLiteName(NowWeekday), 1, 5) - End If - End Sub - '设置/取消窗口置顶 - Private Sub MorWeekday_MouseDown(sender As Object, e As MouseButtonEventArgs) Handles MorWeekday.MouseDown - If Topmost = True Then - Topmost = False - NotifyIconToolStripMenuItemTop.Checked = False - Else - Topmost = True - NotifyIconToolStripMenuItemTop.Checked = True - End If - End Sub - '启动设置窗口 - Private Sub MorWeekday_MouseRightButtonDown(sender As Object, e As MouseButtonEventArgs) Handles MorWeekday.MouseRightButtonDown - RaiseEvent ShowSettingWindow(Me, New EventArgs) - End Sub - Private Sub MainWindow_Closed(sender As Object, e As EventArgs) Handles Me.Closed - '存储窗口大小设定 - If Width = 48 Then - My.Settings.WindowMode = "Narrow" - Else - My.Settings.WindowMode = "Wide" - End If - My.Settings.Save() - End Sub - '通知区域 - ReadOnly MyNotifyIcon As NotifyIcon = New NotifyIcon - Private Event InitializeNotifyIcon(ByVal sender As Object, ByVal e As EventArgs) - Dim WithEvents NotifyIconContextMenuStrip As ContextMenuStrip = New ContextMenuStrip - Dim WithEvents NotifyIconToolStripMenuItemQuickly As ToolStripMenuItem = New ToolStripMenuItem - Dim WithEvents NotifyIconToolStripMenuItemEdit As ToolStripMenuItem = New ToolStripMenuItem - Dim WithEvents NotifyIconToolStripMenuItemUp As ToolStripMenuItem = New ToolStripMenuItem - Dim WithEvents NotifyIconToolStripMenuItemAbout As ToolStripMenuItem = New ToolStripMenuItem - Dim WithEvents NotifyIconToolStripMenuItemSetting As ToolStripMenuItem = New ToolStripMenuItem - Dim WithEvents NotifyIconToolStripMenuItemHide As ToolStripMenuItem = New ToolStripMenuItem - Dim WithEvents NotifyIconToolStripMenuItemTop As ToolStripMenuItem = New ToolStripMenuItem - Dim WithEvents NotifyIconToolStripMenuItemExit As ToolStripMenuItem = New ToolStripMenuItem - Private Sub MainWindow_InitializeNotifyIcon(sender As Object, e As EventArgs) Handles Me.InitializeNotifyIcon +Class MainWindow - '初始化通知图标 - MyNotifyIcon.Icon = My.Resources.Icon - MyNotifyIcon.Visible = True - MyNotifyIcon.Text = "ClassTable" - MyNotifyIcon.ContextMenuStrip = NotifyIconContextMenuStrip - - '初始化右键菜单 - NotifyIconToolStripMenuItemQuickly.Text = "快捷设置" - NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemQuickly) - - NotifyIconToolStripMenuItemSetting.Text = "高级设置" - NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemSetting) - NotifyIconToolStripMenuItemEdit.Text = "编辑" - NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemEdit) - NotifyIconToolStripMenuItemUp.Text = "更新" - NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemUp) - NotifyIconToolStripMenuItemAbout.Text = "关于" - NotifyIconToolStripMenuItemQuickly.DropDown.Items.Add(NotifyIconToolStripMenuItemAbout) - - NotifyIconToolStripMenuItemTop.Text = "置顶" - NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemTop) - 'NotifyIconToolStripMenuItemHide.Text = "隐藏" - 'NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemHide) - NotifyIconToolStripMenuItemExit.Text = "关闭" - NotifyIconContextMenuStrip.Items.Add(NotifyIconToolStripMenuItemExit) - - End Sub - Private Sub NotifyIconContextMenuStrip_Click(sender As Object, e As EventArgs) Handles NotifyIconContextMenuStrip.Click - Show() - NotifyIconToolStripMenuItemHide.Checked = True - End Sub - Private Sub NotifyIconToolStripMenuItemSetting_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemSetting.Click - RaiseEvent ShowSettingWindow(Me, New EventArgs) - End Sub - Private Sub NotifyIconToolStripMenuItemEdit_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemEdit.Click - Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\ATHS Studio\ClassTable\tablefile.xlsx") - End Sub - Private Sub NotifyIconToolStripMenuItemUp_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemUp.Click - RaiseEvent ShowUpdateWindow(Me, New EventArgs) - End Sub - Private Sub NotifyIconToolStripMenuItemAbout_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemAbout.Click - MsgBox("本产品使用的第三方库:" & vbCrLf & "Newtonsoft.Json" & vbCrLf & "ClosedXML" & vbCrLf & "访问 mybluehorizon.github.io/classtable 获得支持" & vbCrLf & "© ATHS Studio 2016 - 2020", Title:="ClassTable 桌面课表", Buttons:=MsgBoxStyle.Information) - End Sub - Private Sub NotifyIconToolStripMenuItemTop_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemTop.Click - If NotifyIconToolStripMenuItemTop.Checked = True Then - NotifyIconToolStripMenuItemTop.Checked = False - Topmost = False - Else - Topmost = True - NotifyIconToolStripMenuItemTop.Checked = True - End If - End Sub - 'Private Sub NotifyIconToolStripMenuItemHide_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemHide.Click - ' If NotifyIconToolStripMenuItemHide.Checked = True Then - ' NotifyIconToolStripMenuItemHide.Checked = False - ' Show() - ' Else - ' Hide() - ' NotifyIconToolStripMenuItemHide.Checked = True - ' End If - 'End Sub - Private Sub NotifyIconToolStripMenuItemExit_Click(sender As Object, e As EventArgs) Handles NotifyIconToolStripMenuItemExit.Click - System.Windows.Application.Current.Shutdown() - End Sub End Class diff --git a/src/ClassTable/My Project/AssemblyInfo.vb b/src/ClassTable/My Project/AssemblyInfo.vb index f87f5c4..42c5fd0 100644 --- a/src/ClassTable/My Project/AssemblyInfo.vb +++ b/src/ClassTable/My Project/AssemblyInfo.vb @@ -1,8 +1,8 @@ Imports System -Imports System.Reflection -Imports System.Runtime.InteropServices Imports System.Globalization +Imports System.Reflection Imports System.Resources +Imports System.Runtime.InteropServices Imports System.Windows ' 有关程序集的一般信息由以下 @@ -11,10 +11,10 @@ Imports System.Windows '查看程序集特性的值 - - + + - + @@ -55,5 +55,5 @@ Imports System.Windows '通过使用 "*",如下所示: ' - - + + diff --git a/src/ClassTable/My Project/Resources.Designer.vb b/src/ClassTable/My Project/Resources.Designer.vb index 9da8d22..80de800 100644 --- a/src/ClassTable/My Project/Resources.Designer.vb +++ b/src/ClassTable/My Project/Resources.Designer.vb @@ -26,7 +26,7 @@ Namespace My.Resources Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _ - Public Module Resources + Friend Module Resources Private resourceMan As Global.System.Resources.ResourceManager @@ -36,7 +36,7 @@ Namespace My.Resources ''' 返回此类使用的缓存的 ResourceManager 实例。 ''' _ - Public ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Get If Object.ReferenceEquals(resourceMan, Nothing) Then Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ClassTable.Resources", GetType(Resources).Assembly) @@ -47,11 +47,11 @@ Namespace My.Resources End Property ''' - ''' 重写当前线程的 CurrentUICulture 属性 - ''' 重写当前线程的 CurrentUICulture 属性。 + ''' 重写当前线程的 CurrentUICulture 属性,对 + ''' 使用此强类型资源类的所有资源查找执行重写。 ''' _ - Public Property Culture() As Global.System.Globalization.CultureInfo + Friend Property Culture() As Global.System.Globalization.CultureInfo Get Return resourceCulture End Get @@ -63,9 +63,9 @@ Namespace My.Resources ''' ''' 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。 ''' - Public ReadOnly Property Icon() As System.Drawing.Icon + Friend ReadOnly Property AppIcon() As System.Drawing.Icon Get - Dim obj As Object = ResourceManager.GetObject("Icon", resourceCulture) + Dim obj As Object = ResourceManager.GetObject("AppIcon", resourceCulture) Return CType(obj,System.Drawing.Icon) End Get End Property diff --git a/src/ClassTable/My Project/Resources.resx b/src/ClassTable/My Project/Resources.resx index d06ba97..baf8d72 100644 --- a/src/ClassTable/My Project/Resources.resx +++ b/src/ClassTable/My Project/Resources.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\Icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resource\Icons\AppIcon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/src/ClassTable/My Project/Settings.Designer.vb b/src/ClassTable/My Project/Settings.Designer.vb index 8488b87..3ff32bf 100644 --- a/src/ClassTable/My Project/Settings.Designer.vb +++ b/src/ClassTable/My Project/Settings.Designer.vb @@ -14,9 +14,9 @@ Option Explicit On _ -Partial Public NotInheritable Class MySettings +Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) diff --git a/src/ClassTable/My Project/app.manifest b/src/ClassTable/My Project/app.manifest deleted file mode 100644 index 13a35fe..0000000 --- a/src/ClassTable/My Project/app.manifest +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/ClassTable/Resources/Icon.ico b/src/ClassTable/Resource/Icons/AppIcon.ico similarity index 100% rename from src/ClassTable/Resources/Icon.ico rename to src/ClassTable/Resource/Icons/AppIcon.ico diff --git a/src/ClassTable/Resources/TableIcon.ico b/src/ClassTable/Resource/Icons/TableIcon.ico similarity index 100% rename from src/ClassTable/Resources/TableIcon.ico rename to src/ClassTable/Resource/Icons/TableIcon.ico diff --git a/src/ClassTable/Resource/SplashScreen.png b/src/ClassTable/Resource/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..0b418023efa1c7a6b413556f11f33b4940a1816f GIT binary patch literal 4714 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 E0XxEPSO5S3 literal 0 HcmV?d00001 diff --git a/src/ClassTable/SplashScreen.png b/src/ClassTable/SplashScreen.png deleted file mode 100644 index 0e401194d290b8e5c10cbdde1730bb8d75259cd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1496 zcmeAS@N?(olHy`uVBq!ia0vp^|3R384M^H?Fq{HXEX7WqAsj$Z!;#Vf4nJ z@a+I$#w^FL(Lh1T64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq!<`jLp@y_ zLn`LHy}L0xHdW&I$LDuuFH_ribXCM!ww0~{OWan376gb-+$DO@QgTheg`wl0=&Kd&fT}EXydUTdIu`rzqKz+ z+IH>weu;AR9jYaFn@y$8ezSO36T0?$*{?5OHgDZi^Y_2qyIcGVk5Gn=RpU^Hpf9=u> zilZ0*+Of(mV=w#UlUwDTI%$Kx{_1>p?ca=(<}i{rd7!`TMqei>IzO-o7{BZpOl^fAX&EjShV@KVaQo z0k1zaL0Rtgi*|37mM$-quD7+xF|AL|{q^nP)R|$ASMM%6@9l19Q@P+S(_QuSIO~#y zH~(;||C7tjeJ8yp*7nYu`aPx+=XiHLd>8h4ckj&SyYseO$f~=$!Z=j*-|T|7?E#Ny zgZ9?h{hGM)*XP%PdoMrld0SKczp;7$`?=Mdul@-OzvdtWisEs__6)xC!fBqvbvu2Z(@Jk{`FbKYp>Sa=*zZm z5uy#cbrI;Ow+n08?f?IKE+3b(*L~I5So_$_y@yqV>-+uoUs@Y}_35?h1NDXY q_y1ibFH_)U*!Ingup*A3A^N7htZiph#gwY=AVE)8KbLh*2~7Z%q{ngq diff --git a/src/ClassTable/packages.config b/src/ClassTable/packages.config index 13267a7..69067e8 100644 --- a/src/ClassTable/packages.config +++ b/src/ClassTable/packages.config @@ -1,7 +1,7 @@  - +