From bb361e67d39fe1a1b5684326e9d11a1c616dd20b Mon Sep 17 00:00:00 2001 From: zqm Date: Fri, 7 Nov 2025 17:13:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=B8=A9=E5=B7=AE=E5=9B=BE?= =?UTF-8?q?=E7=BB=98=E5=88=B6=E7=8A=B6=E6=80=81=E5=8A=9F=E8=83=BD=EF=BC=9A?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B8=A9=E5=B7=AE=E5=9B=BE=E7=BB=98=E5=88=B6?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=A0=87=E5=BF=97=E5=8F=98=E9=87=8F=E3=80=81?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0BtnDrawTempDiff=5FClick=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E3=80=81=E6=B7=BB=E5=8A=A0=E5=8F=B3=E5=87=BB=E9=80=80=E5=87=BA?= =?UTF-8?q?=E6=B8=A9=E5=B7=AE=E5=9B=BE=E7=BB=98=E5=88=B6=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Toprie/Toprie/Setting.cs | 68 +++++++++++++++++-- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs index e204270..04abb21 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -22,6 +22,9 @@ namespace JoyD.Windows.CS // 绘制模式标志 private bool _isDrawingMode = false; + // 温差图绘制模式标志 + private bool _isTempDiffDrawingMode = false; + // 矩形绘制相关变量 private Point _startPoint; private Rectangle _currentRectangle = Rectangle.Empty; @@ -78,8 +81,14 @@ namespace JoyD.Windows.CS /// private void PicBoxTemp_MouseDown(object sender, MouseEventArgs e) { + // 检查是否处于温差图绘制状态且右击鼠标 + if (_isTempDiffDrawingMode && e.Button == MouseButtons.Right) + { + // 退出温差图绘制状态,返回到就绪状态 + ExitTempDiffDrawingMode(); + } // 检查是否处于绘制状态且右击鼠标 - if (_isDrawingMode && e.Button == MouseButtons.Right) + else if (_isDrawingMode && e.Button == MouseButtons.Right) { // 退出绘制状态 _isDrawingMode = false; @@ -140,7 +149,7 @@ namespace JoyD.Windows.CS /// /// 根据状态设置按钮可见性 /// - /// 状态类型:0-初始/就绪状态,1-选中区域状态,2-绘制状态 + /// 状态类型:0-初始/就绪状态,1-选中区域状态,2-绘制状态,3-温差图绘制状态 private void UpdateButtonsVisibility(int state) { try @@ -165,6 +174,12 @@ namespace JoyD.Windows.CS btnDeleteRegion.Visible = false; // 隐藏删除区域按钮 btnDrawTempDiff.Visible = false; // 隐藏温差图按钮 break; + case 3: // 温差图绘制状态 + btnDrawTempDiff.Visible = true; // 显示温差图按钮 + btnDrawRegion.Visible = false; // 隐藏绘制区域按钮 + btnSelectColor.Visible = false; // 隐藏颜色选择按钮 + btnDeleteRegion.Visible = false; // 隐藏删除区域按钮 + break; } } catch (Exception ex) @@ -178,8 +193,53 @@ namespace JoyD.Windows.CS /// private void BtnDrawTempDiff_Click(object sender, EventArgs e) { - // 温差图绘制功能实现 - // TODO: 实现温差图绘制逻辑 + try + { + // 设置温差图绘制模式标志 + _isTempDiffDrawingMode = !_isTempDiffDrawingMode; + btnDrawTempDiff.Checked = _isTempDiffDrawingMode; + + if (_isTempDiffDrawingMode) + { + // 进入温差图绘制状态 + picBoxTemp.Cursor = Cursors.Cross; + btnDrawTempDiff.ToolTipText = "温差图绘制模式已启用,点击图片区域进行绘制(点击关闭)"; + + // 调用按钮可见性更新方法设置为温差图绘制状态 + UpdateButtonsVisibility(3); // 3表示温差图绘制状态 + } + else + { + // 退出温差图绘制状态,返回到就绪状态 + ExitTempDiffDrawingMode(); + } + } + catch (Exception ex) + { + Console.WriteLine("温差图绘制模式切换失败: " + ex.Message); + ExitTempDiffDrawingMode(); + } + } + + /// + /// 退出温差图绘制模式 + /// + private void ExitTempDiffDrawingMode() + { + _isTempDiffDrawingMode = false; + btnDrawTempDiff.Checked = false; + + // 重置鼠标光标 + picBoxTemp.Cursor = Cursors.Default; + + // 更新按钮提示文本 + btnDrawTempDiff.ToolTipText = "绘制温差图"; + + // 按就绪状态设置按钮可见性 + UpdateButtonsVisibility(0); // 0表示初始状态/就绪状态 + + // 刷新绘制 + picBoxTemp.Invalidate(); } ///