完成六个新按钮(btnNewTempRegion,btnLoadTempRegion,btnSaveTempRegion,btnNewTempDiff,btnLoadTempDiff,btnSaveTempDiff)的图标设置和功能实现

This commit is contained in:
zqm
2025-11-11 13:16:28 +08:00
parent c868fb9284
commit 20bd15bbc3
3 changed files with 353 additions and 24 deletions

View File

@@ -166,16 +166,20 @@
#### 配置状态说明
1. 初始状态/就绪状态:
- 显示btnDrawRegion和btnDrawTempDiff按钮、dataGridViewTempDiff
- 显示btnNewTempRegion按钮、btnLoadTempRegion按钮、btnSaveTempRegion按钮、btnNewTempDiff按钮、btnLoadTempDiff按钮、btnSaveTempDiff按钮
- 隐藏btnSelectColor、btnDeleteRegion按钮、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15、btnBrushSize25
2. 选中区域状态:
- 显示btnDeleteRegion和btnSelectColor按钮
- 隐藏btnDrawRegion和btnDrawTempDiff按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15、btnBrushSize25
- 隐藏btnNewTempRegion按钮、btnLoadTempRegion按钮、btnSaveTempRegion按钮、btnNewTempDiff按钮、btnLoadTempDiff按钮、btnSaveTempDiff按钮
3. 绘制状态:
- 显示btnSelectColor按钮
- 显示btnDrawRegion按钮
- 隐藏btnDeleteRegion按钮
- 隐藏btnDrawTempDiff按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15、btnBrushSize25
- 隐藏btnNewTempRegion按钮、btnLoadTempRegion按钮、btnSaveTempRegion按钮、btnNewTempDiff按钮、btnLoadTempDiff按钮、btnSaveTempDiff按钮
4. 绘制温差图状态:
- 显示btnDrawTempDiff按钮显示dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff
- 当选定温差图例后显示btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15、btnBrushSize25
- 隐藏btnSelectColor、btnDeleteRegion、btnDrawRegion按钮
- 隐藏btnSelectColor、btnDeleteRegion、btnDrawRegion按钮
- 隐藏btnNewTempRegion按钮、btnLoadTempRegion按钮、btnSaveTempRegion按钮、btnNewTempDiff按钮、btnLoadTempDiff按钮、btnSaveTempDiff按钮

View File

@@ -135,6 +135,66 @@ namespace JoyD.Windows.CS
this.dataGridViewTempDiff.Size = new System.Drawing.Size(250, 400);
this.dataGridViewTempDiff.TabIndex = 0;
//
// btnNewTempRegion
//
this.btnNewTempRegion = new System.Windows.Forms.ToolStripButton();
this.btnNewTempRegion.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnNewTempRegion.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnNewTempRegion.Name = "btnNewTempRegion";
this.btnNewTempRegion.Size = new System.Drawing.Size(23, 4);
this.btnNewTempRegion.Text = "新建测温区";
this.btnNewTempRegion.ToolTipText = "新建测温区";
//
// btnLoadTempRegion
//
this.btnLoadTempRegion = new System.Windows.Forms.ToolStripButton();
this.btnLoadTempRegion.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnLoadTempRegion.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnLoadTempRegion.Name = "btnLoadTempRegion";
this.btnLoadTempRegion.Size = new System.Drawing.Size(23, 4);
this.btnLoadTempRegion.Text = "加载测温区";
this.btnLoadTempRegion.ToolTipText = "加载测温区";
//
// btnSaveTempRegion
//
this.btnSaveTempRegion = new System.Windows.Forms.ToolStripButton();
this.btnSaveTempRegion.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnSaveTempRegion.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnSaveTempRegion.Name = "btnSaveTempRegion";
this.btnSaveTempRegion.Size = new System.Drawing.Size(23, 4);
this.btnSaveTempRegion.Text = "保存测温区";
this.btnSaveTempRegion.ToolTipText = "保存测温区";
//
// btnNewTempDiff
//
this.btnNewTempDiff = new System.Windows.Forms.ToolStripButton();
this.btnNewTempDiff.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnNewTempDiff.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnNewTempDiff.Name = "btnNewTempDiff";
this.btnNewTempDiff.Size = new System.Drawing.Size(23, 4);
this.btnNewTempDiff.Text = "新建温差图";
this.btnNewTempDiff.ToolTipText = "新建温差图";
//
// btnLoadTempDiff
//
this.btnLoadTempDiff = new System.Windows.Forms.ToolStripButton();
this.btnLoadTempDiff.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnLoadTempDiff.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnLoadTempDiff.Name = "btnLoadTempDiff";
this.btnLoadTempDiff.Size = new System.Drawing.Size(23, 4);
this.btnLoadTempDiff.Text = "加载温差图";
this.btnLoadTempDiff.ToolTipText = "加载温差图";
//
// btnSaveTempDiff
//
this.btnSaveTempDiff = new System.Windows.Forms.ToolStripButton();
this.btnSaveTempDiff.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnSaveTempDiff.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnSaveTempDiff.Name = "btnSaveTempDiff";
this.btnSaveTempDiff.Size = new System.Drawing.Size(23, 4);
this.btnSaveTempDiff.Text = "保存温差图";
this.btnSaveTempDiff.ToolTipText = "保存温差图";
//
// toolStrip
//
this.toolStrip.AllowDrop = true;

View File

@@ -965,8 +965,15 @@ namespace JoyD.Windows.CS
btnDrawTempDiff.Visible = true; // 显示温差图按钮
btnSelectColor.Visible = false; // 隐藏颜色选择按钮
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
// 显示六个新按钮
btnNewTempRegion.Visible = true;
btnLoadTempRegion.Visible = true;
btnSaveTempRegion.Visible = true;
btnNewTempDiff.Visible = true;
btnLoadTempDiff.Visible = true;
btnSaveTempDiff.Visible = true;
dataGridViewTempDiff.Visible = true; // 显示温差图例表格
dataGridViewTempDiff.ReadOnly = true; // 初始状态下设置为只读
dataGridViewTempDiff.ReadOnly = true; // 初始状态下设置为只读
btnAddTempDiff.Visible = false; // 隐藏添加温差图例按钮
btnDeleteTempDiff.Visible = false; // 隐藏删除温差图例按钮
btnEraseTempDiff.Visible = false; // 隐藏擦除按钮
@@ -983,6 +990,37 @@ namespace JoyD.Windows.CS
toolStripSeparator.Visible = false;
}
break;
case 2: // 绘制状态
btnSelectColor.Visible = true; // 显示颜色选择按钮
btnDrawRegion.Visible = true; // 显示绘制区域按钮
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格
dataGridViewTempDiff.ReadOnly = true; // 绘制状态下设置为只读
btnAddTempDiff.Visible = false; // 隐藏添加温差图例按钮
btnDeleteTempDiff.Visible = false; // 隐藏删除温差图例按钮
btnEraseTempDiff.Visible = false; // 隐藏擦除按钮
// 隐藏六个新按钮
btnNewTempRegion.Visible = false;
btnLoadTempRegion.Visible = false;
btnSaveTempRegion.Visible = false;
btnNewTempDiff.Visible = false;
btnLoadTempDiff.Visible = false;
btnSaveTempDiff.Visible = false;
// 隐藏所有画笔大小按钮
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
btnBrushSize5.Visible = false;
btnBrushSize10.Visible = false;
btnBrushSize15.Visible = false;
btnBrushSize25.Visible = false;
// 控制分隔条可见性:前后都没有显示的按钮,隐藏分隔条
if (toolStripSeparator != null)
{
toolStripSeparator.Visible = false;
}
break;
case 1: // 选中区域状态
btnDrawRegion.Visible = false; // 隐藏绘制区域按钮
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
@@ -992,6 +1030,13 @@ namespace JoyD.Windows.CS
btnAddTempDiff.Visible = false; // 隐藏添加温差图例按钮
btnDeleteTempDiff.Visible = false; // 隐藏删除温差图例按钮
btnEraseTempDiff.Visible = false; // 隐藏擦除按钮
// 隐藏六个新按钮
btnNewTempRegion.Visible = false;
btnLoadTempRegion.Visible = false;
btnSaveTempRegion.Visible = false;
btnNewTempDiff.Visible = false;
btnLoadTempDiff.Visible = false;
btnSaveTempDiff.Visible = false;
// 隐藏所有画笔大小按钮
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
@@ -1005,28 +1050,7 @@ namespace JoyD.Windows.CS
toolStripSeparator.Visible = false;
}
break;
case 2: // 绘制状态
btnSelectColor.Visible = true; // 显示颜色选择按钮
btnDrawRegion.Visible = true; // 显示绘制区域按钮
btnDeleteRegion.Visible = false; // 隐藏删除区域按钮
btnDrawTempDiff.Visible = false; // 隐藏温差图按钮
dataGridViewTempDiff.Visible = false; // 隐藏温差图例表格
btnAddTempDiff.Visible = false; // 隐藏添加温差图例按钮
btnDeleteTempDiff.Visible = false; // 隐藏删除温差图例按钮
btnEraseTempDiff.Visible = false; // 隐藏擦除按钮
// 隐藏所有画笔大小按钮
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
btnBrushSize5.Visible = false;
btnBrushSize10.Visible = false;
btnBrushSize15.Visible = false;
btnBrushSize25.Visible = false;
// 控制分隔条可见性:前后都没有显示的按钮,隐藏分隔条
if (toolStripSeparator != null)
{
toolStripSeparator.Visible = false;
}
break;
case 3: // 温差图绘制状态
btnDrawTempDiff.Visible = true; // 显示温差图按钮
btnDrawRegion.Visible = false; // 隐藏绘制区域按钮
@@ -1037,6 +1061,13 @@ namespace JoyD.Windows.CS
btnAddTempDiff.Visible = true; // 显示添加温差图例按钮
btnDeleteTempDiff.Visible = true; // 显示删除温差图例按钮
btnEraseTempDiff.Visible = true; // 显示擦除按钮
// 隐藏六个新按钮
btnNewTempRegion.Visible = false;
btnLoadTempRegion.Visible = false;
btnSaveTempRegion.Visible = false;
btnNewTempDiff.Visible = false;
btnLoadTempDiff.Visible = false;
btnSaveTempDiff.Visible = false;
// 初始隐藏画笔大小按钮等待用户选择温差图例后在SelectionChanged事件中显示
btnBrushSize1.Visible = false;
btnBrushSize3.Visible = false;
@@ -2464,6 +2495,240 @@ namespace JoyD.Windows.CS
Console.WriteLine("擦除按钮图标设置失败: " + ex.Message);
}
// 设置新建测温区按钮的图标
try
{
Bitmap newTempRegionIcon = new Bitmap(24, 24);
using (Graphics g = Graphics.FromImage(newTempRegionIcon))
{
// 设置高质量绘图
g.SmoothingMode = SmoothingMode.AntiAlias;
// 清除背景为透明
g.Clear(Color.Transparent);
// 绘制一个加号和矩形表示新建测温区
// 绘制矩形
using (Pen pen = new Pen(Color.Green, 2))
{
g.DrawRectangle(pen, 5, 7, 14, 10);
}
// 绘制加号
using (Pen pen = new Pen(Color.Green, 2))
{
g.DrawLine(pen, 12, 7, 12, 17); // 垂直线
g.DrawLine(pen, 7, 12, 17, 12); // 水平线
}
}
btnNewTempRegion.Image = newTempRegionIcon;
btnNewTempRegion.ImageTransparentColor = Color.Transparent;
}
catch (Exception ex)
{
Console.WriteLine("新建测温区按钮图标设置失败: " + ex.Message);
}
// 设置加载测温区按钮的图标
try
{
Bitmap loadTempRegionIcon = new Bitmap(24, 24);
using (Graphics g = Graphics.FromImage(loadTempRegionIcon))
{
// 设置高质量绘图
g.SmoothingMode = SmoothingMode.AntiAlias;
// 清除背景为透明
g.Clear(Color.Transparent);
// 绘制一个文件夹和向下的箭头表示加载
// 绘制文件夹
using (Pen pen = new Pen(Color.Blue, 2))
{
g.DrawLine(pen, 5, 10, 12, 6); // 文件夹顶部斜边
g.DrawLine(pen, 12, 6, 19, 6); // 文件夹顶部
g.DrawLine(pen, 19, 6, 19, 18); // 文件夹右侧
g.DrawLine(pen, 19, 18, 5, 18); // 文件夹底部
g.DrawLine(pen, 5, 18, 5, 10); // 文件夹左侧
}
// 绘制向下的箭头
using (Pen pen = new Pen(Color.Blue, 2))
{
g.DrawLine(pen, 12, 12, 12, 16); // 箭头竖线
g.DrawLine(pen, 10, 14, 12, 16); // 箭头左斜线
g.DrawLine(pen, 14, 14, 12, 16); // 箭头右斜线
}
}
btnLoadTempRegion.Image = loadTempRegionIcon;
btnLoadTempRegion.ImageTransparentColor = Color.Transparent;
}
catch (Exception ex)
{
Console.WriteLine("加载测温区按钮图标设置失败: " + ex.Message);
}
// 设置保存测温区按钮的图标
try
{
Bitmap saveTempRegionIcon = new Bitmap(24, 24);
using (Graphics g = Graphics.FromImage(saveTempRegionIcon))
{
// 设置高质量绘图
g.SmoothingMode = SmoothingMode.AntiAlias;
// 清除背景为透明
g.Clear(Color.Transparent);
// 绘制一个文件夹和向上的箭头表示保存
// 绘制文件夹
using (Pen pen = new Pen(Color.Brown, 2))
{
g.DrawLine(pen, 5, 10, 12, 6); // 文件夹顶部斜边
g.DrawLine(pen, 12, 6, 19, 6); // 文件夹顶部
g.DrawLine(pen, 19, 6, 19, 18); // 文件夹右侧
g.DrawLine(pen, 19, 18, 5, 18); // 文件夹底部
g.DrawLine(pen, 5, 18, 5, 10); // 文件夹左侧
}
// 绘制向上的箭头
using (Pen pen = new Pen(Color.Brown, 2))
{
g.DrawLine(pen, 12, 8, 12, 12); // 箭头竖线
g.DrawLine(pen, 10, 10, 12, 8); // 箭头左斜线
g.DrawLine(pen, 14, 10, 12, 8); // 箭头右斜线
}
}
btnSaveTempRegion.Image = saveTempRegionIcon;
btnSaveTempRegion.ImageTransparentColor = Color.Transparent;
}
catch (Exception ex)
{
Console.WriteLine("保存测温区按钮图标设置失败: " + ex.Message);
}
// 设置新建温差图按钮的图标
try
{
Bitmap newTempDiffIcon = new Bitmap(24, 24);
using (Graphics g = Graphics.FromImage(newTempDiffIcon))
{
// 设置高质量绘图
g.SmoothingMode = SmoothingMode.AntiAlias;
// 清除背景为透明
g.Clear(Color.Transparent);
// 绘制一个渐变条和加号表示新建温差图
// 绘制渐变条(蓝色到红色)
using (LinearGradientBrush gradientBrush = new LinearGradientBrush(
new Rectangle(6, 8, 6, 10),
Color.Blue, // 低温端
Color.Red, // 高温端
LinearGradientMode.Vertical))
{
g.FillRectangle(gradientBrush, 6, 8, 6, 10);
}
// 添加边框
g.DrawRectangle(new Pen(Color.Black, 1), 6, 8, 6, 10);
// 绘制加号
using (Pen pen = new Pen(Color.Black, 2))
{
g.DrawLine(pen, 18, 13, 18, 13); // 垂直线
g.DrawLine(pen, 16, 13, 20, 13); // 水平线
}
}
btnNewTempDiff.Image = newTempDiffIcon;
btnNewTempDiff.ImageTransparentColor = Color.Transparent;
}
catch (Exception ex)
{
Console.WriteLine("新建温差图按钮图标设置失败: " + ex.Message);
}
// 设置加载温差图按钮的图标
try
{
Bitmap loadTempDiffIcon = new Bitmap(24, 24);
using (Graphics g = Graphics.FromImage(loadTempDiffIcon))
{
// 设置高质量绘图
g.SmoothingMode = SmoothingMode.AntiAlias;
// 清除背景为透明
g.Clear(Color.Transparent);
// 绘制一个渐变条和向下的箭头表示加载温差图
// 绘制渐变条(蓝色到红色)
using (LinearGradientBrush gradientBrush = new LinearGradientBrush(
new Rectangle(6, 8, 6, 10),
Color.Blue, // 低温端
Color.Red, // 高温端
LinearGradientMode.Vertical))
{
g.FillRectangle(gradientBrush, 6, 8, 6, 10);
}
// 添加边框
g.DrawRectangle(new Pen(Color.Black, 1), 6, 8, 6, 10);
// 绘制向下的箭头
using (Pen pen = new Pen(Color.Black, 1.5f))
{
g.DrawLine(pen, 18, 10, 18, 14); // 箭头竖线
g.DrawLine(pen, 16, 12, 18, 14); // 箭头左斜线
g.DrawLine(pen, 20, 12, 18, 14); // 箭头右斜线
}
}
btnLoadTempDiff.Image = loadTempDiffIcon;
btnLoadTempDiff.ImageTransparentColor = Color.Transparent;
}
catch (Exception ex)
{
Console.WriteLine("加载温差图按钮图标设置失败: " + ex.Message);
}
// 设置保存温差图按钮的图标
try
{
Bitmap saveTempDiffIcon = new Bitmap(24, 24);
using (Graphics g = Graphics.FromImage(saveTempDiffIcon))
{
// 设置高质量绘图
g.SmoothingMode = SmoothingMode.AntiAlias;
// 清除背景为透明
g.Clear(Color.Transparent);
// 绘制一个渐变条和向上的箭头表示保存温差图
// 绘制渐变条(蓝色到红色)
using (LinearGradientBrush gradientBrush = new LinearGradientBrush(
new Rectangle(6, 8, 6, 10),
Color.Blue, // 低温端
Color.Red, // 高温端
LinearGradientMode.Vertical))
{
g.FillRectangle(gradientBrush, 6, 8, 6, 10);
}
// 添加边框
g.DrawRectangle(new Pen(Color.Black, 1), 6, 8, 6, 10);
// 绘制向上的箭头
using (Pen pen = new Pen(Color.Black, 1.5f))
{
g.DrawLine(pen, 18, 10, 18, 14); // 箭头竖线
g.DrawLine(pen, 16, 12, 18, 10); // 箭头左斜线
g.DrawLine(pen, 20, 12, 18, 10); // 箭头右斜线
}
}
btnSaveTempDiff.Image = saveTempDiffIcon;
btnSaveTempDiff.ImageTransparentColor = Color.Transparent;
}
catch (Exception ex)
{
Console.WriteLine("保存温差图按钮图标设置失败: " + ex.Message);
}
// 设置添加温差图例按钮的图标
try
{