From 1d8a07a0ce4586335a72c51323070c3a523a3091 Mon Sep 17 00:00:00 2001 From: zqm Date: Thu, 6 Nov 2025 16:12:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E9=A2=9C=E8=89=B2=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=BB=8E=E6=96=87=E6=9C=AC=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=9B=BE=E6=A0=87=E6=8C=89=E9=92=AE=EF=BC=8C?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=5FselectedColor=E9=A2=9C=E8=89=B2=E7=9A=84?= =?UTF-8?q?=E7=9F=A9=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Toprie/Toprie/Setting.Designer.cs | 7 ++-- .../CS/Framework4.0/Toprie/Toprie/Setting.cs | 39 +++++++++++++++++-- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs index c60dc63..59d7c84 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs @@ -124,11 +124,12 @@ // // btnSelectColor // - this.btnSelectColor.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.btnSelectColor.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnSelectColor.ImageTransparentColor = System.Drawing.Color.Transparent; this.btnSelectColor.Name = "btnSelectColor"; - this.btnSelectColor.Size = new System.Drawing.Size(75, 22); + this.btnSelectColor.Size = new System.Drawing.Size(23, 22); this.btnSelectColor.Text = "选择颜色"; - this.btnSelectColor.ToolTipText = "选择绘制区域的颜色"; + this.btnSelectColor.ToolTipText = "选择绘制区域的颜色(点击更换颜色)"; // // Setting // diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs index 7ea7a91..84dc25b 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -201,6 +201,39 @@ namespace JoyD.Windows.CS btnDrawRegion.Image = icon; btnDrawRegion.ImageTransparentColor = Color.Transparent; + // 设置颜色选择按钮的图标 + UpdateColorButtonIcon(); + } + + /// + /// 更新颜色选择按钮的图标,显示_selectedColor颜色的矩形 + /// + private void UpdateColorButtonIcon() + { + // 创建颜色选择按钮的图标 + Bitmap colorIcon = new Bitmap(24, 24); + using (Graphics g = Graphics.FromImage(colorIcon)) + { + // 设置高质量绘图 + g.SmoothingMode = SmoothingMode.AntiAlias; + + // 清除背景为透明 + g.Clear(Color.Transparent); + + // 绘制边框 + g.DrawRectangle(new Pen(Color.Black, 1), 3, 3, 18, 18); + + // 使用_selectedColor填充矩形 + using (SolidBrush brush = new SolidBrush(_selectedColor)) + { + g.FillRectangle(brush, 4, 4, 16, 16); + } + } + + // 设置按钮图标并设置透明色 + btnSelectColor.Image = colorIcon; + btnSelectColor.ImageTransparentColor = Color.Transparent; + // 启用双缓冲以减少闪烁 typeof(PictureBox).InvokeMember("DoubleBuffered", System.Reflection.BindingFlags.SetProperty | @@ -229,11 +262,11 @@ namespace JoyD.Windows.CS // 更新选中的颜色 _selectedColor = colorDialog.Color; + // 更新按钮图标,显示新选择的颜色 + UpdateColorButtonIcon(); + // 重绘图片区域,显示新颜色的矩形 picBoxTemp.Invalidate(); - - // 更新按钮文本,显示当前选中的颜色 - btnSelectColor.Text = string.Format("颜色: {0}", _selectedColor.Name); } } }