修复内容:
1. 完善温度显示状态变量更新 :在 LoadMenuConfig 方法中添加了对平均温度( _showAverageTemperature )和最低温度( _showMinTemperature )状态变量的设置,确保所有温度显示相关的状态都能正确加载。 2. 添加温度显示互斥逻辑 :实现了全局温度和区域温度的互斥处理,确保两者不会同时被选中,保持菜单状态的一致性。 3. 更新实时温度显示 :在加载配置后调用 UpdateRealTimeInfoOnUI() 方法,确保温度显示能够根据加载的配置实时更新。 4. 应用色彩模式到设备 :添加了逻辑将加载的色彩模式(如白热、黑热、铁红等)应用到设备,确保视觉效果与菜单选择一致。 5. 应用图像模式到设备 :添加了逻辑将加载的图像模式(红外模式或自然模式)应用到设备,确保图像显示模式与菜单选择一致。
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
@@ -2318,6 +2318,25 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
_showAreaTemperature = areaTemperatureToolStripMenuItem.Checked;
|
_showAreaTemperature = areaTemperatureToolStripMenuItem.Checked;
|
||||||
if (maxTemperatureToolStripMenuItem != null)
|
if (maxTemperatureToolStripMenuItem != null)
|
||||||
_showMaxTemperature = maxTemperatureToolStripMenuItem.Checked;
|
_showMaxTemperature = maxTemperatureToolStripMenuItem.Checked;
|
||||||
|
if (avgTemperatureToolStripMenuItem != null)
|
||||||
|
_showAverageTemperature = avgTemperatureToolStripMenuItem.Checked;
|
||||||
|
if (minTemperatureToolStripMenuItem != null)
|
||||||
|
_showMinTemperature = minTemperatureToolStripMenuItem.Checked;
|
||||||
|
|
||||||
|
// 处理温度显示菜单项的互斥逻辑
|
||||||
|
if (_showGlobalTemperature && _showAreaTemperature)
|
||||||
|
{
|
||||||
|
// 如果两者都被选中,默认保持全局温度选中,取消区域温度
|
||||||
|
_showAreaTemperature = false;
|
||||||
|
if (areaTemperatureToolStripMenuItem != null)
|
||||||
|
areaTemperatureToolStripMenuItem.Checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新实时温度信息显示,只在非暂停状态下调用
|
||||||
|
if (!_isPaused)
|
||||||
|
{
|
||||||
|
UpdateRealTimeInfoOnUI();
|
||||||
|
}
|
||||||
|
|
||||||
// 色彩模式菜单 - 添加空值检查
|
// 色彩模式菜单 - 添加空值检查
|
||||||
if (whiteHotToolStripMenuItem != null)
|
if (whiteHotToolStripMenuItem != null)
|
||||||
@@ -2337,12 +2356,86 @@ namespace JoyD.Windows.CS.Toprie
|
|||||||
if (rainbow2ToolStripMenuItem != null)
|
if (rainbow2ToolStripMenuItem != null)
|
||||||
ApplyMenuState(menuStates, "rainbow2", rainbow2ToolStripMenuItem);
|
ApplyMenuState(menuStates, "rainbow2", rainbow2ToolStripMenuItem);
|
||||||
|
|
||||||
|
// 应用选中的色彩模式到设备
|
||||||
|
if (_deviceManager != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (whiteHotToolStripMenuItem != null && whiteHotToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.WhiteHot);
|
||||||
|
Console.WriteLine("应用白热色彩模式到设备");
|
||||||
|
}
|
||||||
|
else if (blackHotToolStripMenuItem != null && blackHotToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.BlackHot);
|
||||||
|
Console.WriteLine("应用黑热色彩模式到设备");
|
||||||
|
}
|
||||||
|
else if (ironRedToolStripMenuItem != null && ironRedToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.IronRed);
|
||||||
|
Console.WriteLine("应用铁红色彩模式到设备");
|
||||||
|
}
|
||||||
|
else if (lavaToolStripMenuItem != null && lavaToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.Lava);
|
||||||
|
Console.WriteLine("应用熔岩色彩模式到设备");
|
||||||
|
}
|
||||||
|
else if (rainbowToolStripMenuItem != null && rainbowToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.Rainbow);
|
||||||
|
Console.WriteLine("应用彩虹色彩模式到设备");
|
||||||
|
}
|
||||||
|
else if (ironGrayToolStripMenuItem != null && ironGrayToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.IronGray);
|
||||||
|
Console.WriteLine("应用铁灰色彩模式到设备");
|
||||||
|
}
|
||||||
|
else if (redHotToolStripMenuItem != null && redHotToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.RedHot);
|
||||||
|
Console.WriteLine("应用红热色彩模式到设备");
|
||||||
|
}
|
||||||
|
else if (rainbow2ToolStripMenuItem != null && rainbow2ToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetPaletteType(PaletteType.Rainbow2);
|
||||||
|
Console.WriteLine("应用彩虹2色彩模式到设备");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"应用色彩模式到设备失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 图像模式菜单 - 添加空值检查
|
// 图像模式菜单 - 添加空值检查
|
||||||
if (thermalModeToolStripMenuItem != null)
|
if (thermalModeToolStripMenuItem != null)
|
||||||
ApplyMenuState(menuStates, "thermalMode", thermalModeToolStripMenuItem);
|
ApplyMenuState(menuStates, "thermalMode", thermalModeToolStripMenuItem);
|
||||||
if (visibleModeToolStripMenuItem != null)
|
if (visibleModeToolStripMenuItem != null)
|
||||||
ApplyMenuState(menuStates, "visibleMode", visibleModeToolStripMenuItem);
|
ApplyMenuState(menuStates, "visibleMode", visibleModeToolStripMenuItem);
|
||||||
|
|
||||||
|
// 应用选中的图像模式到设备
|
||||||
|
if (_deviceManager != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (thermalModeToolStripMenuItem != null && thermalModeToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetImageMode(ImageMode.Infrared);
|
||||||
|
Console.WriteLine("应用红外图像模式到设备");
|
||||||
|
}
|
||||||
|
else if (visibleModeToolStripMenuItem != null && visibleModeToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
_deviceManager.SetImageMode(ImageMode.Natural);
|
||||||
|
Console.WriteLine("应用自然图像模式到设备");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"应用图像模式到设备失败: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
string successMsg = "菜单配置已从CSV文件成功加载并应用";
|
string successMsg = "菜单配置已从CSV文件成功加载并应用";
|
||||||
Console.WriteLine(successMsg);
|
Console.WriteLine(successMsg);
|
||||||
WriteLog(successMsg);
|
WriteLog(successMsg);
|
||||||
|
|||||||
Reference in New Issue
Block a user