improve:计时器
This commit is contained in:
@@ -28,7 +28,7 @@ namespace Ink_Canvas
|
|||||||
this.Height = SystemParameters.PrimaryScreenHeight;
|
this.Height = SystemParameters.PrimaryScreenHeight;
|
||||||
|
|
||||||
// 启动更新定时器
|
// 启动更新定时器
|
||||||
updateTimer = new System.Timers.Timer(100); // 100ms更新一次
|
updateTimer = new System.Timers.Timer(100);
|
||||||
updateTimer.Elapsed += UpdateTimer_Elapsed;
|
updateTimer.Elapsed += UpdateTimer_Elapsed;
|
||||||
updateTimer.Start();
|
updateTimer.Start();
|
||||||
}
|
}
|
||||||
@@ -105,6 +105,8 @@ namespace Ink_Canvas
|
|||||||
// 恢复主窗口
|
// 恢复主窗口
|
||||||
if (parentWindow != null)
|
if (parentWindow != null)
|
||||||
{
|
{
|
||||||
|
// 清除全屏模式标志
|
||||||
|
parentWindow.SetFullscreenMode(false);
|
||||||
parentWindow.Show();
|
parentWindow.Show();
|
||||||
parentWindow.Activate();
|
parentWindow.Activate();
|
||||||
parentWindow.WindowState = WindowState.Normal;
|
parentWindow.WindowState = WindowState.Normal;
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ namespace Ink_Canvas
|
|||||||
private Timer hideTimer;
|
private Timer hideTimer;
|
||||||
private MinimizedTimerWindow minimizedWindow;
|
private MinimizedTimerWindow minimizedWindow;
|
||||||
private DateTime lastActivityTime;
|
private DateTime lastActivityTime;
|
||||||
|
private bool isFullscreenMode = false;
|
||||||
|
|
||||||
// 最近计时记录
|
// 最近计时记录
|
||||||
private string recentTimer1 = "--:--";
|
private string recentTimer1 = "--:--";
|
||||||
@@ -206,11 +207,11 @@ namespace Ink_Canvas
|
|||||||
{
|
{
|
||||||
Application.Current.Dispatcher.Invoke(() =>
|
Application.Current.Dispatcher.Invoke(() =>
|
||||||
{
|
{
|
||||||
// 只有在计时器运行时才检查自动隐藏
|
// 只有在计时器运行时且不在全屏模式下才检查自动隐藏
|
||||||
if (isTimerRunning && !isPaused)
|
if (isTimerRunning && !isPaused && !isFullscreenMode)
|
||||||
{
|
{
|
||||||
var timeSinceLastActivity = DateTime.Now - lastActivityTime;
|
var timeSinceLastActivity = DateTime.Now - lastActivityTime;
|
||||||
if (timeSinceLastActivity.TotalSeconds >= 5) // 5秒无操作
|
if (timeSinceLastActivity.TotalSeconds >= 5)
|
||||||
{
|
{
|
||||||
ShowMinimizedWindow();
|
ShowMinimizedWindow();
|
||||||
}
|
}
|
||||||
@@ -235,6 +236,11 @@ namespace Ink_Canvas
|
|||||||
lastActivityTime = DateTime.Now;
|
lastActivityTime = DateTime.Now;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetFullscreenMode(bool isFullscreen)
|
||||||
|
{
|
||||||
|
isFullscreenMode = isFullscreen;
|
||||||
|
}
|
||||||
|
|
||||||
public bool IsTimerRunning => isTimerRunning;
|
public bool IsTimerRunning => isTimerRunning;
|
||||||
|
|
||||||
public TimeSpan? GetRemainingTime()
|
public TimeSpan? GetRemainingTime()
|
||||||
@@ -1009,6 +1015,9 @@ namespace Ink_Canvas
|
|||||||
|
|
||||||
private void ShowFullscreenTimer()
|
private void ShowFullscreenTimer()
|
||||||
{
|
{
|
||||||
|
// 设置全屏模式标志
|
||||||
|
isFullscreenMode = true;
|
||||||
|
|
||||||
// 创建全屏计时器窗口
|
// 创建全屏计时器窗口
|
||||||
var fullscreenWindow = new FullscreenTimerWindow(this);
|
var fullscreenWindow = new FullscreenTimerWindow(this);
|
||||||
fullscreenWindow.Show();
|
fullscreenWindow.Show();
|
||||||
|
|||||||
Reference in New Issue
Block a user