修复选中区域时右击鼠标退出选中状态的按钮可见性问题
This commit is contained in:
@@ -64,6 +64,8 @@ namespace JoyD.Windows.CS
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
btnDeleteRegion.Visible = false;
|
btnDeleteRegion.Visible = false;
|
||||||
|
// 初始状态/就绪状态下显示温差图按钮
|
||||||
|
btnDrawTempDiff.Visible = true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -90,8 +92,8 @@ namespace JoyD.Windows.CS
|
|||||||
_currentRectangle = Rectangle.Empty;
|
_currentRectangle = Rectangle.Empty;
|
||||||
_isDrawing = false;
|
_isDrawing = false;
|
||||||
|
|
||||||
// 隐藏颜色选择按钮
|
// 按就绪状态设置按钮可见性
|
||||||
btnSelectColor.Visible = false;
|
UpdateButtonsVisibility(0); // 0表示初始状态/就绪状态
|
||||||
|
|
||||||
// 更新按钮提示文本
|
// 更新按钮提示文本
|
||||||
btnDrawRegion.ToolTipText = "绘制区域(点击开启)";
|
btnDrawRegion.ToolTipText = "绘制区域(点击开启)";
|
||||||
@@ -135,6 +137,42 @@ namespace JoyD.Windows.CS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 根据状态设置按钮可见性
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="state">状态类型:0-初始/就绪状态,1-选中区域状态,2-绘制状态</param>
|
||||||
|
private void UpdateButtonsVisibility(int state)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
switch (state)
|
||||||
|
{
|
||||||
|
case 0: // 初始状态/就绪状态
|
||||||
|
btnDrawRegion.Visible = true; // 显示绘制区域按钮
|
||||||
|
btnDrawTempDiff.Visible = true; // 显示温差图按钮
|
||||||
|
btnSelectColor.Visible = false; // 隐藏颜色选择按钮
|
||||||
|
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
|
||||||
|
break;
|
||||||
|
case 1: // 选中区域状态
|
||||||
|
btnDrawRegion.Visible = false; // 隐藏绘制区域按钮
|
||||||
|
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
|
||||||
|
btnSelectColor.Visible = true; // 显示颜色选择按钮
|
||||||
|
btnDeleteRegion.Visible = true; // 显示删除区域按钮
|
||||||
|
break;
|
||||||
|
case 2: // 绘制状态
|
||||||
|
btnSelectColor.Visible = true; // 显示颜色选择按钮
|
||||||
|
btnDrawRegion.Visible = true; // 显示绘制区域按钮
|
||||||
|
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
|
||||||
|
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("更新按钮可见性失败: " + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 绘制温差图按钮点击事件
|
/// 绘制温差图按钮点击事件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -157,8 +195,8 @@ namespace JoyD.Windows.CS
|
|||||||
picBoxTemp.Cursor = Cursors.Cross;
|
picBoxTemp.Cursor = Cursors.Cross;
|
||||||
btnDrawRegion.ToolTipText = "绘制模式已启用,点击图片区域绘制矩形框(点击关闭)";
|
btnDrawRegion.ToolTipText = "绘制模式已启用,点击图片区域绘制矩形框(点击关闭)";
|
||||||
|
|
||||||
// 显示颜色选择按钮
|
// 调用按钮可见性更新方法设置为绘制状态
|
||||||
btnSelectColor.Visible = true;
|
UpdateButtonsVisibility(2); // 2表示绘制状态
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -169,8 +207,8 @@ namespace JoyD.Windows.CS
|
|||||||
// 重绘以清除临时矩形
|
// 重绘以清除临时矩形
|
||||||
picBoxTemp.Invalidate();
|
picBoxTemp.Invalidate();
|
||||||
|
|
||||||
// 隐藏颜色选择按钮
|
// 调用按钮可见性更新方法设置为就绪状态
|
||||||
btnSelectColor.Visible = false;
|
UpdateButtonsVisibility(0); // 0表示初始状态/就绪状态
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1089,17 +1127,8 @@ namespace JoyD.Windows.CS
|
|||||||
// 取消选中状态
|
// 取消选中状态
|
||||||
_selectedRegionIndex = -1;
|
_selectedRegionIndex = -1;
|
||||||
|
|
||||||
// 更新按钮的可见性
|
// 使用统一的方法更新按钮可见性,设置为就绪状态
|
||||||
try
|
UpdateButtonsVisibility(0); // 0表示初始状态/就绪状态
|
||||||
{
|
|
||||||
btnDeleteRegion.Visible = false;
|
|
||||||
btnSelectColor.Visible = false;
|
|
||||||
btnDrawRegion.Visible = true; // 取消选中后显示绘制按钮
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Console.WriteLine("更新按钮可见性失败: " + ex.Message);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 刷新绘制
|
// 刷新绘制
|
||||||
picBoxTemp.Invalidate();
|
picBoxTemp.Invalidate();
|
||||||
@@ -1138,6 +1167,8 @@ namespace JoyD.Windows.CS
|
|||||||
btnDeleteRegion.Visible = isRegionSelected;
|
btnDeleteRegion.Visible = isRegionSelected;
|
||||||
btnSelectColor.Visible = isRegionSelected;
|
btnSelectColor.Visible = isRegionSelected;
|
||||||
btnDrawRegion.Visible = !isRegionSelected; // 选中区域时隐藏绘制按钮
|
btnDrawRegion.Visible = !isRegionSelected; // 选中区域时隐藏绘制按钮
|
||||||
|
// 温差图按钮只在就绪状态且未选中区域时显示
|
||||||
|
btnDrawTempDiff.Visible = !isRegionSelected;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user