实现画笔按钮颜色与选中的温差图例颜色一致的功能

This commit is contained in:
zqm
2025-11-10 13:46:11 +08:00
parent 3c55df703c
commit 06ae394b76

View File

@@ -474,6 +474,30 @@ namespace JoyD.Windows.CS
btnBrushSize10.Visible = true;
btnBrushSize15.Visible = true;
// 获取选中行的索引
int selectedRowIndex = -1;
if (dataGridViewTempDiff.SelectedRows.Count > 0)
{
selectedRowIndex = dataGridViewTempDiff.SelectedRows[0].Index;
}
else if (dataGridViewTempDiff.SelectedCells.Count > 0)
{
selectedRowIndex = dataGridViewTempDiff.SelectedCells[0].RowIndex;
}
// 如果选中行索引有效,更新画笔按钮颜色
if (selectedRowIndex >= 0 && selectedRowIndex < tempDiffData.Count)
{
Color selectedColor = (Color)tempDiffData[selectedRowIndex]["color"];
// 更新所有画笔按钮的颜色
btnBrushSize1.Image = CreateBrushSizeImage(1, selectedColor);
btnBrushSize3.Image = CreateBrushSizeImage(3, selectedColor);
btnBrushSize5.Image = CreateBrushSizeImage(5, selectedColor);
btnBrushSize10.Image = CreateBrushSizeImage(10, selectedColor);
btnBrushSize15.Image = CreateBrushSizeImage(15, selectedColor);
}
// 确保当前选中的画笔大小按钮处于选中状态
UpdateBrushSizeButtonSelection(_currentBrushSize);
@@ -741,13 +765,26 @@ namespace JoyD.Windows.CS
// 选中第一行
dataGridViewTempDiff.Rows[0].Selected = true;
// 手动触发SelectionChanged事件处理逻辑
// 这里不直接调用事件,而是直接更新画笔按钮可见性
// 这里不直接调用事件,而是直接更新画笔按钮可见性和颜色
btnBrushSize1.Visible = true;
btnBrushSize3.Visible = true;
btnBrushSize5.Visible = true;
btnBrushSize10.Visible = true;
btnBrushSize15.Visible = true;
// 更新画笔按钮颜色为第一行温差图例的颜色
if (tempDiffData.Count > 0)
{
Color selectedColor = (Color)tempDiffData[0]["color"];
// 更新所有画笔按钮的颜色
btnBrushSize1.Image = CreateBrushSizeImage(1, selectedColor);
btnBrushSize3.Image = CreateBrushSizeImage(3, selectedColor);
btnBrushSize5.Image = CreateBrushSizeImage(5, selectedColor);
btnBrushSize10.Image = CreateBrushSizeImage(10, selectedColor);
btnBrushSize15.Image = CreateBrushSizeImage(15, selectedColor);
}
// 确保当前选中的画笔大小按钮处于选中状态
UpdateBrushSizeButtonSelection(_currentBrushSize);