improve:快抽置顶

This commit is contained in:
2025-11-15 18:37:23 +08:00
parent bccd2d0f3e
commit 40ea9664a7
2 changed files with 37 additions and 4 deletions
+22
View File
@@ -1956,6 +1956,28 @@ namespace Ink_Canvas
}
}
public void PauseTopmostMaintenance()
{
if (topmostMaintenanceTimer != null && isTopmostMaintenanceEnabled)
{
topmostMaintenanceTimer.Stop();
}
}
public void ResumeTopmostMaintenance()
{
if (Settings.Advanced.IsAlwaysOnTop &&
Settings.Advanced.IsNoFocusMode &&
!Settings.Advanced.EnableUIAccessTopMost)
{
if (topmostMaintenanceTimer != null && !isTopmostMaintenanceEnabled)
{
topmostMaintenanceTimer.Start();
isTopmostMaintenanceEnabled = true;
}
}
}
/// <summary>
/// 置顶维护定时器事件
/// </summary>
+15 -4
View File
@@ -215,10 +215,6 @@ namespace Ink_Canvas
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// 窗口关闭时的清理工作
}
private void WindowDragMove(object sender, MouseButtonEventArgs e)
{
@@ -281,12 +277,27 @@ namespace Ink_Canvas
/// </summary>
private void QuickDrawWindow_Loaded(object sender, RoutedEventArgs e)
{
MainWindow mainWindow = Application.Current.MainWindow as MainWindow;
if (mainWindow != null)
{
mainWindow.PauseTopmostMaintenance();
}
// 使用延迟确保窗口完全加载后再应用置顶
Dispatcher.BeginInvoke(new Action(() =>
{
ApplyQuickDrawWindowTopmost();
}), DispatcherPriority.Loaded);
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
MainWindow mainWindow = Application.Current.MainWindow as MainWindow;
if (mainWindow != null)
{
mainWindow.ResumeTopmostMaintenance();
}
}
#endregion
}
}