修复工具栏分隔条显示问题,在DataGridViewTempDiff_SelectionChanged中添加分隔条可见性控制
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user