From cb92e3a3c6a5ff21a12e0181880de7b9ab29dafd Mon Sep 17 00:00:00 2001 From: zqm Date: Fri, 7 Nov 2025 10:37:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=BC=A0=E6=A0=87=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E4=BA=8B=E4=BB=B6=E9=80=BB=E8=BE=91=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E5=A4=9A=E4=B8=AA=E9=87=8D=E5=8F=A0=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E6=97=B6=E9=80=89=E6=8B=A9=E7=B4=A2=E5=BC=95=E5=8F=B7=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E7=9A=84=E5=8C=BA=E5=9F=9F=E8=BF=9B=E8=A1=8C=E5=8D=8A?= =?UTF-8?q?=E9=80=8F=E6=98=8E=E5=A1=AB=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Windows/CS/Framework4.0/Toprie/Toprie/README.md | 2 +- Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs | 1 + Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs | 7 ++++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/README.md b/Windows/CS/Framework4.0/Toprie/Toprie/README.md index e8c2d33..bbfce11 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/README.md +++ b/Windows/CS/Framework4.0/Toprie/Toprie/README.md @@ -149,5 +149,5 @@ 3. 图像合并机制 :在Paint事件中先绘制叠加层,再绘制临时矩形。 4. 保存的矩形框位置和大小信息应该是相对于图像的,而不是相对于控件的。 5. 当btnDrawRegion按下后,处于绘制状态, btnSelectColor才显示出来 -6. 当就绪状态时,鼠标移到区域内,该区域内填充半透明色,当有多个重叠时,只填充索引最大的区域 +6. 当就绪状态时,鼠标移到区域内,该区域内填充半透明色,当有多个重叠时,填充索引号最大的区域 7. 当鼠标在半透明区域内单击时,该区域填充半透明色,且显示八个句柄,表示选中该区域。 \ 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 01195ae..d51c25f 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.Designer.cs @@ -142,6 +142,7 @@ this.ClientSize = new System.Drawing.Size(649, 450); this.Controls.Add(this.splitContainer); this.Name = "Setting"; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.Text = "检测配置"; this.splitContainer.Panel1.ResumeLayout(false); this.splitContainer.Panel2.ResumeLayout(false); diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs index 8e19dcf..7098e8c 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Setting.cs @@ -189,14 +189,15 @@ namespace JoyD.Windows.CS // 将鼠标坐标转换为图像坐标 Point imagePoint = ControlPointToImagePoint(e.Location); - // 检查鼠标是否在某个区域内 + // 检查鼠标是否在某个区域内,选择索引号最大的区域 int newHoveredRegionIndex = -1; + int maxIndex = -1; foreach (RegionInfo region in _drawnRectangles) { - if (region.ImageRectangle.Contains(imagePoint)) + if (region.ImageRectangle.Contains(imagePoint) && region.Index > maxIndex) { + maxIndex = region.Index; newHoveredRegionIndex = region.Index; - break; } }