修复绘制测温区状态下txtRegionNumber后面分隔条显示问题:添加第三个分隔条的查找和可见性控制,确保在所有状态下分隔条都能正确显示或隐藏

This commit is contained in:
zqm
2025-11-11 16:05:15 +08:00
parent 77e2109fe6
commit 65c3f32835

View File

@@ -718,7 +718,8 @@ namespace JoyD.Windows.CS
{ {
// 获取工具栏分隔条引用 // 获取工具栏分隔条引用
ToolStripSeparator firstSeparator = null; // 删除温差图例按钮和画笔大小按钮之间的分隔条 ToolStripSeparator firstSeparator = null; // 删除温差图例按钮和画笔大小按钮之间的分隔条
ToolStripSeparator secondSeparator = null; // 画笔大小按钮和新按钮组之间的分隔条 ToolStripSeparator secondSeparator = null; // 画笔大小按钮和txtRegionNumber之间的分隔条
ToolStripSeparator thirdSeparator = null; // txtRegionNumber后面的分隔条
// 查找分隔条 // 查找分隔条
for (int i = 0; i < toolStrip.Items.Count - 1; i++) for (int i = 0; i < toolStrip.Items.Count - 1; i++)
@@ -728,11 +729,16 @@ namespace JoyD.Windows.CS
{ {
firstSeparator = toolStrip.Items[i + 1] as ToolStripSeparator; firstSeparator = toolStrip.Items[i + 1] as ToolStripSeparator;
} }
// 查找第二个分隔条(在画笔大小按钮和新按钮组之间) // 查找第二个分隔条(在画笔大小按钮和txtRegionNumber之间)
else if (toolStrip.Items[i] == btnBrushSize25 && toolStrip.Items[i + 1] is ToolStripSeparator) else if (toolStrip.Items[i] == btnBrushSize25 && toolStrip.Items[i + 1] is ToolStripSeparator)
{ {
secondSeparator = toolStrip.Items[i + 1] as ToolStripSeparator; secondSeparator = toolStrip.Items[i + 1] as ToolStripSeparator;
} }
// 查找第三个分隔条在txtRegionNumber后面
else if (toolStrip.Items[i] == txtRegionNumber && toolStrip.Items[i + 1] is ToolStripSeparator)
{
thirdSeparator = toolStrip.Items[i + 1] as ToolStripSeparator;
}
} }
@@ -1004,6 +1010,7 @@ namespace JoyD.Windows.CS
// 获取工具栏分隔条引用 // 获取工具栏分隔条引用
ToolStripSeparator firstSeparator = null; // 删除温差图例按钮和画笔大小按钮之间的分隔条 ToolStripSeparator firstSeparator = null; // 删除温差图例按钮和画笔大小按钮之间的分隔条
ToolStripSeparator secondSeparator = null; // 画笔大小按钮和新按钮组之间的分隔条 ToolStripSeparator secondSeparator = null; // 画笔大小按钮和新按钮组之间的分隔条
ToolStripSeparator thirdSeparator = null; // txtRegionNumber后面的分隔条
// 查找分隔条 // 查找分隔条
for (int i = 0; i < toolStrip.Items.Count - 1; i++) for (int i = 0; i < toolStrip.Items.Count - 1; i++)
@@ -1018,6 +1025,11 @@ namespace JoyD.Windows.CS
{ {
secondSeparator = toolStrip.Items[i + 1] as ToolStripSeparator; secondSeparator = toolStrip.Items[i + 1] as ToolStripSeparator;
} }
// 查找第三个分隔条在txtRegionNumber后面
else if (toolStrip.Items[i] == txtRegionNumber && toolStrip.Items[i + 1] is ToolStripSeparator)
{
thirdSeparator = toolStrip.Items[i + 1] as ToolStripSeparator;
}
} }
// 创建检查是否有画笔按钮可见的辅助方法 // 创建检查是否有画笔按钮可见的辅助方法
@@ -1070,6 +1082,11 @@ namespace JoyD.Windows.CS
// 第二个分隔条:前面按钮(所有画笔按钮)不可见,后面按钮组有可见按钮 // 第二个分隔条:前面按钮(所有画笔按钮)不可见,后面按钮组有可见按钮
secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons(); secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons();
} }
if (thirdSeparator != null)
{
// 在初始状态下txtRegionNumber是隐藏的所以分隔条也应该隐藏
thirdSeparator.Visible = false;
}
break; break;
case 2: // 绘制状态 case 2: // 绘制状态
@@ -1118,6 +1135,11 @@ namespace JoyD.Windows.CS
// 第二个分隔条:前面按钮(所有画笔按钮)和后面按钮(新按钮组)都不可见 // 第二个分隔条:前面按钮(所有画笔按钮)和后面按钮(新按钮组)都不可见
secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons(); secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons();
} }
if (thirdSeparator != null)
{
// 在温差图绘制状态下txtRegionNumber是隐藏的所以分隔条也应该隐藏
thirdSeparator.Visible = false;
}
break; break;
case 1: // 选中区域状态 case 1: // 选中区域状态
btnDrawRegion.Visible = false; // 隐藏绘制区域按钮 btnDrawRegion.Visible = false; // 隐藏绘制区域按钮
@@ -1164,6 +1186,11 @@ namespace JoyD.Windows.CS
// 第二个分隔条:前面按钮(所有画笔按钮)和后面按钮(新按钮组)都不可见 // 第二个分隔条:前面按钮(所有画笔按钮)和后面按钮(新按钮组)都不可见
secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons(); secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons();
} }
if (thirdSeparator != null)
{
// 在选中区域状态下txtRegionNumber后面的分隔条应该隐藏
thirdSeparator.Visible = false;
}
break; break;
case 3: // 温差图绘制状态 case 3: // 温差图绘制状态
@@ -1203,6 +1230,11 @@ namespace JoyD.Windows.CS
// 第二个分隔条:前面按钮(所有画笔按钮)和后面按钮(新按钮组)都不可见 // 第二个分隔条:前面按钮(所有画笔按钮)和后面按钮(新按钮组)都不可见
secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons(); secondSeparator.Visible = HasVisibleBrushButtons() && HasVisibleNewButtons();
} }
if (thirdSeparator != null)
{
// 在绘制状态下txtRegionNumber后面的分隔条应该隐藏
thirdSeparator.Visible = false;
}
break; break;
} }
} }