From 8f0c0d292462b257d64cf90b16da8d39ad9778b4 Mon Sep 17 00:00:00 2001 From: zqm Date: Mon, 10 Nov 2025 13:34:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=A5=E5=85=B7=E6=A0=8F?= =?UTF-8?q?=E5=88=86=E9=9A=94=E6=9D=A1=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E5=9C=A8DataGridViewTempDiff=5FSelectionChanged?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E5=88=86=E9=9A=94=E6=9D=A1=E5=8F=AF?= =?UTF-8?q?=E8=A7=81=E6=80=A7=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Toprie/Toprie/Setting.cs | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs index dcac2af..10a4019 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -451,6 +451,18 @@ namespace JoyD.Windows.CS { try { + // 获取工具栏分隔条引用 + ToolStripSeparator toolStripSeparator = null; + // 查找温差图例按钮和画笔大小按钮之间的分隔条 + for (int i = 0; i < toolStrip.Items.Count - 1; i++) + { + if (toolStrip.Items[i] == btnDeleteTempDiff && toolStrip.Items[i + 1] is ToolStripSeparator) + { + toolStripSeparator = toolStrip.Items[i + 1] as ToolStripSeparator; + break; + } + } + // 检查当前是否在温差图绘制状态下 // 只有同时满足:处于温差图绘制模式、有选中的图例行、并且dataGridViewTempDiff控件可见时,才显示画笔大小按钮 if (_isTempDiffDrawingMode && dataGridViewTempDiff.SelectedRows.Count > 0 && dataGridViewTempDiff.Visible) @@ -464,6 +476,13 @@ namespace JoyD.Windows.CS // 确保当前选中的画笔大小按钮处于选中状态 UpdateBrushSizeButtonSelection(_currentBrushSize); + + // 控制分隔条可见性:当前后都有按钮显示时显示分隔条 + // 前有btnDeleteTempDiff显示,后有btnBrushSize1显示 + if (toolStripSeparator != null) + { + toolStripSeparator.Visible = btnDeleteTempDiff.Visible && btnBrushSize1.Visible; + } } else { @@ -473,6 +492,12 @@ namespace JoyD.Windows.CS btnBrushSize5.Visible = false; btnBrushSize10.Visible = false; btnBrushSize15.Visible = false; + + // 隐藏分隔条 + if (toolStripSeparator != null) + { + toolStripSeparator.Visible = false; + } } } catch (Exception ex) @@ -585,6 +610,18 @@ namespace JoyD.Windows.CS { try { + // 获取工具栏分隔条引用 + ToolStripSeparator toolStripSeparator = null; + // 查找温差图例按钮和画笔大小按钮之间的分隔条 + for (int i = 0; i < toolStrip.Items.Count - 1; i++) + { + if (toolStrip.Items[i] == btnDeleteTempDiff && toolStrip.Items[i + 1] is ToolStripSeparator) + { + toolStripSeparator = toolStrip.Items[i + 1] as ToolStripSeparator; + break; + } + } + switch (state) { case 0: // 初始状态/就绪状态 @@ -601,6 +638,11 @@ namespace JoyD.Windows.CS btnBrushSize5.Visible = false; btnBrushSize10.Visible = false; btnBrushSize15.Visible = false; + // 控制分隔条可见性:前后都没有显示的按钮,隐藏分隔条 + if (toolStripSeparator != null) + { + toolStripSeparator.Visible = false; + } break; case 1: // 选中区域状态 btnDrawRegion.Visible = false; // 隐藏绘制区域按钮 @@ -616,6 +658,11 @@ namespace JoyD.Windows.CS btnBrushSize5.Visible = false; btnBrushSize10.Visible = false; btnBrushSize15.Visible = false; + // 控制分隔条可见性:前后都没有显示的按钮,隐藏分隔条 + if (toolStripSeparator != null) + { + toolStripSeparator.Visible = false; + } break; case 2: // 绘制状态 btnSelectColor.Visible = true; // 显示颜色选择按钮 @@ -631,6 +678,11 @@ namespace JoyD.Windows.CS btnBrushSize5.Visible = false; btnBrushSize10.Visible = false; btnBrushSize15.Visible = false; + // 控制分隔条可见性:前后都没有显示的按钮,隐藏分隔条 + if (toolStripSeparator != null) + { + toolStripSeparator.Visible = false; + } break; case 3: // 温差图绘制状态 btnDrawTempDiff.Visible = true; // 显示温差图按钮 @@ -646,6 +698,12 @@ namespace JoyD.Windows.CS btnBrushSize5.Visible = false; btnBrushSize10.Visible = false; btnBrushSize15.Visible = false; + // 控制分隔条可见性:只有前有按钮显示且后有按钮显示时才显示分隔条 + // 在温差图绘制初始状态,画笔按钮默认隐藏,所以分隔条也隐藏 + if (toolStripSeparator != null) + { + toolStripSeparator.Visible = false; + } break; } }