diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/README.md b/Windows/CS/Framework4.0/Toprie/Toprie/README.md
index cc64167..66b23a0 100644
--- a/Windows/CS/Framework4.0/Toprie/Toprie/README.md
+++ b/Windows/CS/Framework4.0/Toprie/Toprie/README.md
@@ -159,21 +159,22 @@
13. 当选中区域时,鼠标可以移动区域,用于调整区域位置。
14. 当选中区域时,右击鼠标,退出选中状态,转为就绪状态
15. 当就绪状态时,工具栏显示绘制温差图按钮(btnDrawTempDiff)
-16. 当绘制温差图按钮按下时,进入绘制温差图状态
+16. 当绘制温差图按钮按下时,进入绘制温差图状态,显示添加和删除温差图例按钮(btnAddTempDiff、btnDeleteTempDiff),显示温差图例列表(dataGridViewTempDiff)
17. 当绘制温差图状态时,右击鼠标进入就绪状态
#### 配置状态说明
1. 初始状态/就绪状态:
- 显示btnDrawRegion和btnDrawTempDiff按钮
- - 隐藏btnSelectColor、btnDeleteRegion按钮、dataGridViewTempDiff
+ - 隐藏btnSelectColor、btnDeleteRegion按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
2. 选中区域状态:
- 显示btnDeleteRegion和btnSelectColor按钮
- - 隐藏btnDrawRegion和btnDrawTempDiff按钮、dataGridViewTempDiff
+ - 隐藏btnDrawRegion和btnDrawTempDiff按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
3. 绘制状态:
- 显示btnSelectColor按钮
- 显示btnDrawRegion按钮
- 隐藏btnDeleteRegion按钮
- - 隐藏btnDrawTempDiff按钮、dataGridViewTempDiff
+ - 隐藏btnDrawTempDiff按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
4. 绘制温差图状态:
- - 显示btnDrawTempDiff按钮,显示dataGridViewTempDiff
+ - 显示btnDrawTempDiff按钮,显示dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff
+ - 当选定温差图例后,显示btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
- 隐藏btnSelectColor、btnDeleteRegion、btnDrawRegion按钮
\ No newline at end of file
diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs
index 0a74949..f4eb775 100644
--- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs
+++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs
@@ -163,6 +163,30 @@ namespace JoyD.Windows.CS
this.btnBrushSize5.ToolTipText = "选择5像素画笔";
this.btnBrushSize5.Click += new System.EventHandler(this.BtnBrushSize5_Click);
//
+ // btnBrushSize10
+ //
+ this.btnBrushSize10 = new System.Windows.Forms.ToolStripButton();
+ this.btnBrushSize10.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.btnBrushSize10.Image = this.CreateBrushSizeImage(10, System.Drawing.Color.Purple);
+ this.btnBrushSize10.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.btnBrushSize10.Name = "btnBrushSize10";
+ this.btnBrushSize10.Size = new System.Drawing.Size(23, 22);
+ this.btnBrushSize10.Text = "画笔大小10px";
+ this.btnBrushSize10.ToolTipText = "选择10像素画笔";
+ this.btnBrushSize10.Click += new System.EventHandler(this.BtnBrushSize10_Click);
+ //
+ // btnBrushSize15
+ //
+ this.btnBrushSize15 = new System.Windows.Forms.ToolStripButton();
+ this.btnBrushSize15.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.btnBrushSize15.Image = this.CreateBrushSizeImage(15, System.Drawing.Color.Orange);
+ this.btnBrushSize15.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.btnBrushSize15.Name = "btnBrushSize15";
+ this.btnBrushSize15.Size = new System.Drawing.Size(23, 22);
+ this.btnBrushSize15.Text = "画笔大小15px";
+ this.btnBrushSize15.ToolTipText = "选择15像素画笔";
+ this.btnBrushSize15.Click += new System.EventHandler(this.BtnBrushSize15_Click);
+ //
// toolStrip
//
this.toolStrip.AllowDrop = true;
@@ -178,7 +202,9 @@ namespace JoyD.Windows.CS
new System.Windows.Forms.ToolStripSeparator(),
this.btnBrushSize1,
this.btnBrushSize3,
- this.btnBrushSize5});
+ this.btnBrushSize5,
+ this.btnBrushSize10,
+ this.btnBrushSize15});
this.toolStrip.Location = new System.Drawing.Point(3, 0);
this.toolStrip.Name = "toolStrip";
this.toolStrip.Size = new System.Drawing.Size(104, 25);
@@ -291,30 +317,8 @@ namespace JoyD.Windows.CS
private System.Windows.Forms.ToolStripButton btnBrushSize1;
private System.Windows.Forms.ToolStripButton btnBrushSize3;
private System.Windows.Forms.ToolStripButton btnBrushSize5;
+ private System.Windows.Forms.ToolStripButton btnBrushSize10;
+ private System.Windows.Forms.ToolStripButton btnBrushSize15;
private System.Windows.Forms.DataGridView dataGridViewTempDiff;
-
- ///
- /// 创建表示画笔大小的图标
- ///
- /// 画笔大小(像素)
- /// 画笔颜色
- /// 表示画笔大小的图标
- private System.Drawing.Bitmap CreateBrushSizeImage(int size, System.Drawing.Color color)
- {
- System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(20, 20);
- using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp))
- {
- // 填充背景为透明色
- g.Clear(System.Drawing.Color.Magenta);
- // 计算正方形位置,使其居中
- int x = (20 - size) / 2;
- int y = (20 - size) / 2;
- // 绘制正方形表示画笔大小
- g.FillRectangle(new System.Drawing.SolidBrush(color), x, y, size, size);
- // 添加边框
- g.DrawRectangle(new System.Drawing.Pen(System.Drawing.Color.Black), x, y, size - 1, size - 1);
- }
- return bmp;
- }
}
}
\ No newline at end of file
diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs
index e691b6c..ee1e2c9 100644
--- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs
+++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs
@@ -49,6 +49,9 @@ namespace JoyD.Windows.CS
private bool _isMoving = false;
private Point _startMovePoint;
+ // 画笔大小相关变量
+ private int _currentBrushSize = 1; // 默认画笔大小为1像素
+
public Setting()
{
InitializeComponent();
@@ -85,6 +88,121 @@ namespace JoyD.Windows.CS
dataGridViewTempDiff.Visible = false;
}
+ ///
+ /// 1像素画笔大小按钮点击事件
+ ///
+ private void BtnBrushSize1_Click(object sender, EventArgs e)
+ {
+ _currentBrushSize = 1;
+ // 更新按钮选中状态
+ UpdateBrushSizeButtonSelection(1);
+ }
+
+ ///
+ /// 3像素画笔大小按钮点击事件
+ ///
+ private void BtnBrushSize3_Click(object sender, EventArgs e)
+ {
+ _currentBrushSize = 3;
+ // 更新按钮选中状态
+ UpdateBrushSizeButtonSelection(3);
+ }
+
+ ///
+ /// 5像素画笔大小按钮点击事件
+ ///
+ private void BtnBrushSize5_Click(object sender, EventArgs e)
+ {
+ _currentBrushSize = 5;
+ // 更新按钮选中状态
+ UpdateBrushSizeButtonSelection(5);
+ }
+
+ ///
+ /// 10像素画笔大小按钮点击事件
+ ///
+ private void BtnBrushSize10_Click(object sender, EventArgs e)
+ {
+ _currentBrushSize = 10;
+ // 更新按钮选中状态
+ UpdateBrushSizeButtonSelection(10);
+ }
+
+ ///
+ /// 15像素画笔大小按钮点击事件
+ ///
+ private void BtnBrushSize15_Click(object sender, EventArgs e)
+ {
+ _currentBrushSize = 15;
+ // 更新按钮选中状态
+ UpdateBrushSizeButtonSelection(15);
+ }
+
+ ///
+ /// 创建表示画笔大小的图标
+ ///
+ /// 画笔大小(像素)
+ /// 画笔颜色
+ /// 表示画笔大小的图标
+ private System.Drawing.Bitmap CreateBrushSizeImage(int size, System.Drawing.Color color)
+ {
+ System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(20, 20);
+ using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp))
+ {
+ // 填充背景为透明色
+ g.Clear(System.Drawing.Color.Magenta);
+ // 计算正方形位置,使其居中
+ int x = (20 - size) / 2;
+ int y = (20 - size) / 2;
+ // 绘制正方形表示画笔大小
+ g.FillRectangle(new System.Drawing.SolidBrush(color), x, y, size, size);
+ // 添加边框
+ g.DrawRectangle(new System.Drawing.Pen(System.Drawing.Color.Black), x, y, size - 1, size - 1);
+ }
+ return bmp;
+ }
+
+ ///
+ /// 更新画笔大小按钮的选中状态
+ ///
+ /// 当前选中的画笔大小
+ private void UpdateBrushSizeButtonSelection(int selectedSize)
+ {
+ try
+ {
+ // 清除所有按钮的选中状态
+ btnBrushSize1.Checked = false;
+ btnBrushSize3.Checked = false;
+ btnBrushSize5.Checked = false;
+ btnBrushSize10.Checked = false;
+ btnBrushSize15.Checked = false;
+
+ // 设置当前选中按钮的选中状态
+ switch (selectedSize)
+ {
+ case 1:
+ btnBrushSize1.Checked = true;
+ break;
+ case 3:
+ btnBrushSize3.Checked = true;
+ break;
+ case 5:
+ btnBrushSize5.Checked = true;
+ break;
+ case 10:
+ btnBrushSize10.Checked = true;
+ break;
+ case 15:
+ btnBrushSize15.Checked = true;
+ break;
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("更新画笔大小按钮状态失败: " + ex.Message);
+ }
+ }
+
///
/// 鼠标按下事件 - 处理右击退出绘制状态、左击开始绘制矩形和开始调整区域大小
///
@@ -176,9 +294,8 @@ namespace JoyD.Windows.CS
// 检查是否是温差值列
if (dataGridViewTempDiff.CurrentCell.ColumnIndex == dataGridViewTempDiff.Columns["tempDiffValue"].Index)
{
- // 获取TextBox编辑控件
- TextBox tb = e.Control as TextBox;
- if (tb != null)
+ // 获取TextBox编辑控件 - 使用模式匹配
+ if (e.Control is TextBox tb)
{
// 清除之前的处理程序
tb.KeyPress -= new KeyPressEventHandler(TempDiffValueTextBox_KeyPress);
@@ -906,8 +1023,8 @@ namespace JoyD.Windows.CS
// 设置高质量绘图
g.SmoothingMode = SmoothingMode.AntiAlias;
- // 使用每个区域自己的颜色绘制矩形
- g.DrawRectangle(new Pen(region.Color, 2), region.ImageRectangle);
+ // 使用每个区域自己的颜色和当前选择的画笔大小绘制矩形
+ g.DrawRectangle(new Pen(region.Color, _currentBrushSize), region.ImageRectangle);
// 绘制区域序号
using (Font font = new Font("Arial", 12, FontStyle.Bold))