From dcb2f24f2fa873ca135a7266476bbf24a0f7b746 Mon Sep 17 00:00:00 2001 From: liufei Date: Tue, 12 Apr 2022 16:57:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=98=BE=E7=A4=BA=E5=90=8E?= =?UTF-8?q?=E7=9A=84=E9=94=AE=E7=9B=98=E7=84=A6=E7=82=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainWindow.xaml.cs | 21 +++++++++++++++------ MyThread/MouseHookThread.cs | 10 +++++----- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index e6200bc..fea1317 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -17,6 +17,7 @@ using static GeekDesk.Util.ShowWindowFollowMouse; using System.Collections.ObjectModel; using NPinyin; using GeekDesk.ViewModel.Temp; +using System.Threading; namespace GeekDesk { @@ -97,9 +98,9 @@ namespace GeekDesk public void HidedSearchBox() { RunTimeStatus.SEARCH_BOX_SHOW = false; + SearchBox.Visibility = Visibility.Collapsed; SearchIconList.IconList.Clear(); RightCard.VisibilitySearchCard(Visibility.Collapsed); - SearchBox.Visibility = Visibility.Collapsed; SearchBox.Text = ""; } @@ -120,6 +121,7 @@ namespace GeekDesk this.Height = appData.AppConfig.WindowHeight; } + /// /// 窗口加载完毕 执行方法 /// @@ -338,7 +340,7 @@ namespace GeekDesk /// /// /// - private void ShowApp(object sender, RoutedEventArgs e) + public void ShowApp(object sender, RoutedEventArgs e) { ShowApp(); } @@ -350,20 +352,27 @@ namespace GeekDesk // return; //} //修改贴边隐藏状态为未隐藏 - mainWindow.Activate(); - MarginHide.IS_HIDE = false; if (appData.AppConfig.FollowMouse) { ShowWindowFollowMouse.Show(mainWindow, MousePosition.CENTER, 0, 0, false); } FadeStoryBoard(1, (int)CommonEnum.WINDOW_ANIMATION_TIME, Visibility.Visible); - mainWindow.Focus(); + Keyboard.Focus(mainWindow.EmptyTextBox); } public static void HideApp() { - FadeStoryBoard(0, (int)CommonEnum.WINDOW_ANIMATION_TIME, Visibility.Collapsed); + if (RunTimeStatus.SEARCH_BOX_SHOW) mainWindow.HidedSearchBox(); + new Thread(() => + { + Thread.Sleep(100); + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + FadeStoryBoard(0, (int)CommonEnum.WINDOW_ANIMATION_TIME, Visibility.Collapsed); + })); + }).Start(); + } /// diff --git a/MyThread/MouseHookThread.cs b/MyThread/MouseHookThread.cs index e293b15..2a2a3a0 100644 --- a/MyThread/MouseHookThread.cs +++ b/MyThread/MouseHookThread.cs @@ -26,13 +26,13 @@ namespace GeekDesk.MyThread dispatcher = DispatcherBuild.Build(); dispatcher.Invoke((Action)(() => { - m_GlobalHook.MouseDownExt += M_GlobalHook_MouseDownExt; + m_GlobalHook.MouseUpExt += M_GlobalHook_MouseUpExt; })); } public static void Dispose() { - m_GlobalHook.MouseDownExt -= M_GlobalHook_MouseDownExt; + m_GlobalHook.MouseUpExt -= M_GlobalHook_MouseUpExt; m_GlobalHook.Dispose(); dispatcher.InvokeShutdown(); } @@ -42,14 +42,14 @@ namespace GeekDesk.MyThread /// /// /// - private static void M_GlobalHook_MouseDownExt(object sender, System.Windows.Forms.MouseEventArgs e) + private static void M_GlobalHook_MouseUpExt(object sender, System.Windows.Forms.MouseEventArgs e) { if (appConfig.MouseMiddleShow && e.Button == System.Windows.Forms.MouseButtons.Middle) { if (MotionControl.hotkeyFinished) { - MainWindow.mainWindow.Dispatcher.Invoke((Action)(() => - { + App.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Render, new Action(() => + { if (MainWindow.mainWindow.Visibility == Visibility.Collapsed || MainWindow.mainWindow.Opacity == 0) { MainWindow.ShowApp();