修复系统状态更新流程第6点:温度数据更新、Ping状态变化、连接状态变化、图像更新时添加暂停状态检查,确保只在非暂停状态下调用更新,暂停状态下不更新Info和UI
This commit is contained in:
@@ -110,9 +110,12 @@ namespace JoyD.Windows.CS.Toprie
|
||||
|
||||
Console.WriteLine("温度数据已更新");
|
||||
|
||||
// 按照README中要求的修改流程第4点:温度数据更新时,调用更新Info
|
||||
// 按照README中要求的修改流程第4点和第6点:温度数据更新时,只在非暂停状态下调用更新Info
|
||||
if (!_isPaused)
|
||||
{
|
||||
UpdateInfo();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"处理接收到的温度数据时出错: {ex.Message}");
|
||||
@@ -683,14 +686,16 @@ namespace JoyD.Windows.CS.Toprie
|
||||
return;
|
||||
}
|
||||
|
||||
// 按照README中要求的修改流程第5点:图像更新时,保存LastImage,调用更新到UI
|
||||
// 无论是否暂停,都应该保存LastImage并调用更新到UI
|
||||
// 按照README中要求的修改流程第5点和第6点:图像更新时,保存LastImage,只在非暂停状态下调用更新到UI
|
||||
this.BeginInvoke(new Action(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!_isPaused)
|
||||
{
|
||||
UpdateImageOnUI();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"更新UI图像失败: {ex.Message}");
|
||||
@@ -1016,8 +1021,11 @@ namespace JoyD.Windows.CS.Toprie
|
||||
}
|
||||
}
|
||||
|
||||
// 设置连接状态后,调用更新Info
|
||||
// 按照README中要求的修改流程第2点和第6点:连接状态变化时,只在非暂停状态下调用更新Info
|
||||
if (!_isPaused)
|
||||
{
|
||||
UpdateInfo();
|
||||
}
|
||||
break;
|
||||
case ConnectionStatus.Disconnected:
|
||||
Console.WriteLine("设备已断开连接");
|
||||
@@ -1044,8 +1052,11 @@ namespace JoyD.Windows.CS.Toprie
|
||||
Console.WriteLine("温度数据实例已清空");
|
||||
}
|
||||
|
||||
// 设置连接状态后,调用更新Info
|
||||
// 按照README中要求的修改流程第2点和第6点:连接状态变化时,只在非暂停状态下调用更新Info
|
||||
if (!_isPaused)
|
||||
{
|
||||
UpdateInfo();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(e.DeviceInfo))
|
||||
{
|
||||
@@ -1064,8 +1075,11 @@ namespace JoyD.Windows.CS.Toprie
|
||||
Console.WriteLine($"正在重新连接设备...{(!string.IsNullOrEmpty(e.DeviceInfo) ? " " + e.DeviceInfo : "")}");
|
||||
ShowError(string.Empty); // 清除之前的错误信息
|
||||
|
||||
// 设置重连状态后,调用更新Info
|
||||
// 按照README中要求的修改流程第2点和第6点:连接状态变化时,只在非暂停状态下调用更新Info
|
||||
if (!_isPaused)
|
||||
{
|
||||
UpdateInfo();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1614,10 +1628,13 @@ namespace JoyD.Windows.CS.Toprie
|
||||
/// <param name="isPingable">是否可Ping通</param>
|
||||
private void UpdatePingState(bool isPingable)
|
||||
{
|
||||
// 按照README中要求的修改流程第3点:Ping通状态变化时,修改Ping状态,调用更新Info
|
||||
// 按照README中要求的修改流程第3点和第6点:Ping通状态变化时,修改Ping状态,只在非暂停状态下调用更新Info
|
||||
IsDevicePingable = isPingable;
|
||||
if (!_isPaused)
|
||||
{
|
||||
UpdateInfo();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 开始设备Ping
|
||||
|
||||
Reference in New Issue
Block a user