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