From cf1e8693065e287f62627be23e8b5633768c83ff Mon Sep 17 00:00:00 2001 From: zqm Date: Fri, 7 Nov 2025 11:14:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E9=80=89=E4=B8=AD=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E6=97=B6=E6=98=BE=E7=A4=BAbtnDeleteRegion=E5=92=8Cbtn?= =?UTF-8?q?SelectColor=E6=8C=89=E9=92=AE=EF=BC=8C=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=89=E4=B8=AD=E5=8C=BA=E5=9F=9F=E9=A2=9C?= =?UTF-8?q?=E8=89=B2=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Toprie/Toprie/README.md | 3 ++- .../CS/Framework4.0/Toprie/Toprie/Setting.cs | 20 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/README.md b/Windows/CS/Framework4.0/Toprie/Toprie/README.md index d59f0a7..4621fc8 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/README.md +++ b/Windows/CS/Framework4.0/Toprie/Toprie/README.md @@ -151,4 +151,5 @@ 5. 当btnDrawRegion按下后,处于绘制状态, btnSelectColor才显示出来 6. 当就绪状态时,鼠标移到区域内,该区域内填充半透明色,当有多个重叠时,填充索引号最大的区域 7. 当鼠标在半透明区域内单击时,该区域填充半透明色,且显示八个句柄,表示选中该区域。 -8. 选中区域时,工具栏显示删除按钮。 \ No newline at end of file +8. 选中区域时,工具栏显示按钮btnDeleteRegion和btnSelectColor。 +9. 当选中区域时,btnSelectColor用于改变选中区域的颜色。 \ 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 092b5cd..429538b 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -600,6 +600,18 @@ namespace JoyD.Windows.CS // 更新按钮图标,显示新选择的颜色 UpdateColorButtonIcon(); + // 如果有区域被选中,更新该区域的颜色 + if (_selectedRegionIndex != -1) + { + RegionInfo selectedRegion = _drawnRectangles.FirstOrDefault(r => r.Index == _selectedRegionIndex); + if (selectedRegion != null) + { + selectedRegion.Color = _selectedColor; + // 重新创建叠加层图像以反映颜色变化 + CreateRectangleOverlayImage(); + } + } + // 重绘图片区域,显示新颜色的矩形 picBoxTemp.Invalidate(); } @@ -753,14 +765,16 @@ namespace JoyD.Windows.CS _selectedRegionIndex = -1; } - // 更新删除按钮的可见性 + // 更新删除按钮和颜色选择按钮的可见性 try { - btnDeleteRegion.Visible = (_selectedRegionIndex != -1); + bool isRegionSelected = (_selectedRegionIndex != -1); + btnDeleteRegion.Visible = isRegionSelected; + btnSelectColor.Visible = isRegionSelected; } catch (Exception ex) { - Console.WriteLine("更新删除按钮可见性失败: " + ex.Message); + Console.WriteLine("更新按钮可见性失败: " + ex.Message); } // 刷新绘制