添加温差图例选择变更事件处理,实现画笔大小按钮的动态显示/隐藏逻辑

This commit is contained in:
zqm
2025-11-10 11:36:04 +08:00
parent 7d7b85b239
commit f2d84c9f7e

View File

@@ -258,6 +258,8 @@ namespace JoyD.Windows.CS
dataGridViewTempDiff.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(DataGridViewTempDiff_EditingControlShowing); dataGridViewTempDiff.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(DataGridViewTempDiff_EditingControlShowing);
// 添加单元格双击事件用于触发编辑模式 // 添加单元格双击事件用于触发编辑模式
dataGridViewTempDiff.CellDoubleClick += new DataGridViewCellEventHandler(DataGridViewTempDiff_CellDoubleClick); dataGridViewTempDiff.CellDoubleClick += new DataGridViewCellEventHandler(DataGridViewTempDiff_CellDoubleClick);
// 添加选择变更事件用于控制画笔大小按钮的显示
dataGridViewTempDiff.SelectionChanged += new EventHandler(DataGridViewTempDiff_SelectionChanged);
// 添加一些示例数据 // 添加一些示例数据
AddSampleTempDiffData(); AddSampleTempDiffData();
@@ -438,6 +440,42 @@ namespace JoyD.Windows.CS
// 移除颜色列点击处理逻辑,颜色列修改改为双击触发 // 移除颜色列点击处理逻辑,颜色列修改改为双击触发
// 温差值列点击不再直接进入编辑模式,改为双击进入 // 温差值列点击不再直接进入编辑模式,改为双击进入
} }
/// <summary>
/// 温差图例选择变更事件处理
/// </summary>
private void DataGridViewTempDiff_SelectionChanged(object sender, EventArgs e)
{
try
{
// 只有在温差图绘制状态下,且有选中行时,显示画笔大小按钮
if (_isTempDiffDrawingMode && dataGridViewTempDiff.SelectedRows.Count > 0)
{
// 显示所有画笔大小按钮
btnBrushSize1.Visible = true;
btnBrushSize3.Visible = true;
btnBrushSize5.Visible = true;
btnBrushSize10.Visible = true;
btnBrushSize15.Visible = true;
// 确保当前选中的画笔大小按钮处于选中状态
UpdateBrushSizeButtonSelection(_currentBrushSize);
}
else
{
// 隐藏所有画笔大小按钮
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
btnBrushSize5.Visible = false;
btnBrushSize10.Visible = false;
btnBrushSize15.Visible = false;
}
}
catch (Exception ex)
{
Console.WriteLine("更新画笔大小按钮可见性失败: " + ex.Message);
}
}
private void DataGridViewTempDiff_CellDoubleClick(object sender, DataGridViewCellEventArgs e) private void DataGridViewTempDiff_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{ {
@@ -551,6 +589,14 @@ namespace JoyD.Windows.CS
btnSelectColor.Visible = false; // 隐藏颜色选择按钮 btnSelectColor.Visible = false; // 隐藏颜色选择按钮
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮 btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格 dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格
btnAddTempDiff.Visible = false; // 隐藏添加温差图例按钮
btnDeleteTempDiff.Visible = false; // 隐藏删除温差图例按钮
// 隐藏所有画笔大小按钮
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
btnBrushSize5.Visible = false;
btnBrushSize10.Visible = false;
btnBrushSize15.Visible = false;
break; break;
case 1: // 选中区域状态 case 1: // 选中区域状态
btnDrawRegion.Visible = false; // 隐藏绘制区域按钮 btnDrawRegion.Visible = false; // 隐藏绘制区域按钮
@@ -558,6 +604,14 @@ namespace JoyD.Windows.CS
btnSelectColor.Visible = true; // 显示颜色选择按钮 btnSelectColor.Visible = true; // 显示颜色选择按钮
btnDeleteRegion.Visible = true; // 显示删除区域按钮 btnDeleteRegion.Visible = true; // 显示删除区域按钮
dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格 dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格
btnAddTempDiff.Visible = false; // 隐藏添加温差图例按钮
btnDeleteTempDiff.Visible = false; // 隐藏删除温差图例按钮
// 隐藏所有画笔大小按钮
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
btnBrushSize5.Visible = false;
btnBrushSize10.Visible = false;
btnBrushSize15.Visible = false;
break; break;
case 2: // 绘制状态 case 2: // 绘制状态
btnSelectColor.Visible = true; // 显示颜色选择按钮 btnSelectColor.Visible = true; // 显示颜色选择按钮
@@ -565,6 +619,14 @@ namespace JoyD.Windows.CS
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮 btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮 btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格 dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格
btnAddTempDiff.Visible = false; // 隐藏添加温差图例按钮
btnDeleteTempDiff.Visible = false; // 隐藏删除温差图例按钮
// 隐藏所有画笔大小按钮
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
btnBrushSize5.Visible = false;
btnBrushSize10.Visible = false;
btnBrushSize15.Visible = false;
break; break;
case 3: // 温差图绘制状态 case 3: // 温差图绘制状态
btnDrawTempDiff.Visible = true; // 显示温差图按钮 btnDrawTempDiff.Visible = true; // 显示温差图按钮
@@ -574,6 +636,12 @@ namespace JoyD.Windows.CS
dataGridViewTempDiff.Visible = true; // 显示温差图例表格 dataGridViewTempDiff.Visible = true; // 显示温差图例表格
btnAddTempDiff.Visible = true; // 显示添加温差图例按钮 btnAddTempDiff.Visible = true; // 显示添加温差图例按钮
btnDeleteTempDiff.Visible = true; // 显示删除温差图例按钮 btnDeleteTempDiff.Visible = true; // 显示删除温差图例按钮
// 初始隐藏画笔大小按钮等待用户选择温差图例后在SelectionChanged事件中显示
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
btnBrushSize5.Visible = false;
btnBrushSize10.Visible = false;
btnBrushSize15.Visible = false;
break; break;
} }
} }