From 5678fa68cbe330c08829a2cebbb58021322f04c2 Mon Sep 17 00:00:00 2001 From: nsnail Date: Mon, 5 Dec 2022 16:39:59 +0800 Subject: [PATCH] =?UTF-8?q?=20=E4=BF=A1=E6=81=AF=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E9=81=BF=E5=BC=80=E9=BC=A0=E6=A0=87=E6=8C=87=E9=92=88=E6=8C=87?= =?UTF-8?q?=E5=90=91=E5=8C=BA=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Color/WinInfo.cs | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/src/Color/WinInfo.cs b/src/Color/WinInfo.cs index 8104c8a..89978e5 100644 --- a/src/Color/WinInfo.cs +++ b/src/Color/WinInfo.cs @@ -12,21 +12,22 @@ public class WinInfo : Form public WinInfo() { - FormBorderStyle = FormBorderStyle.None; - TopMost = true; - MinimizeBox = false; - MaximizeBox = false; - Size = new Size(_WINDOW_SIZE, _WINDOW_SIZE); - StartPosition = FormStartPosition.Manual; - Location = new Point(0, 0); - _pbox = new PictureBox(); - _pbox.Location = new Point(0, 0); - _pbox.Size = Size; - _pbox.Image = new Bitmap(_WINDOW_SIZE, _WINDOW_SIZE); - _graphics = Graphics.FromImage(_pbox.Image); - _graphics.InterpolationMode = InterpolationMode.NearestNeighbor; //指定最临近插值法,禁止平滑缩放(模糊) - _graphics.CompositingQuality = CompositingQuality.HighQuality; - _graphics.SmoothingMode = SmoothingMode.None; + FormBorderStyle = FormBorderStyle.None; + TopMost = true; + MinimizeBox = false; + MaximizeBox = false; + Size = new Size(_WINDOW_SIZE, _WINDOW_SIZE); + StartPosition = FormStartPosition.Manual; + Location = new Point(0, 0); + _pbox = new PictureBox(); + _pbox.Location = new Point(0, 0); + _pbox.Size = Size; + _pbox.Image = new Bitmap(_WINDOW_SIZE, _WINDOW_SIZE); + _graphics = Graphics.FromImage(_pbox.Image); + _graphics.InterpolationMode = InterpolationMode.NearestNeighbor; //指定最临近插值法,禁止平滑缩放(模糊) + _graphics.CompositingQuality = CompositingQuality.HighQuality; + _graphics.SmoothingMode = SmoothingMode.None; + _pbox.MouseEnter += PboxOnMouseEnter; Controls.Add(_pbox); } @@ -36,6 +37,12 @@ public class WinInfo : Form Dispose(false); } + private void PboxOnMouseEnter(object sender, EventArgs e) + { + // 信息窗口避开鼠标指针指向区域 + Location = new Point(Location.X, Location.Y == 0 ? Screen.PrimaryScreen!.Bounds.Height - _WINDOW_SIZE : 0); + } + protected override void Dispose(bool disposing) { base.Dispose(disposing);