* <fix> 信息窗口避开鼠标指针指向区域
This commit is contained in:
nsnail 2022-12-05 16:40:44 +08:00 committed by GitHub
parent 1ba7f3fcfe
commit deebd018f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,21 +12,22 @@ public class WinInfo : Form
public WinInfo() public WinInfo()
{ {
FormBorderStyle = FormBorderStyle.None; FormBorderStyle = FormBorderStyle.None;
TopMost = true; TopMost = true;
MinimizeBox = false; MinimizeBox = false;
MaximizeBox = false; MaximizeBox = false;
Size = new Size(_WINDOW_SIZE, _WINDOW_SIZE); Size = new Size(_WINDOW_SIZE, _WINDOW_SIZE);
StartPosition = FormStartPosition.Manual; StartPosition = FormStartPosition.Manual;
Location = new Point(0, 0); Location = new Point(0, 0);
_pbox = new PictureBox(); _pbox = new PictureBox();
_pbox.Location = new Point(0, 0); _pbox.Location = new Point(0, 0);
_pbox.Size = Size; _pbox.Size = Size;
_pbox.Image = new Bitmap(_WINDOW_SIZE, _WINDOW_SIZE); _pbox.Image = new Bitmap(_WINDOW_SIZE, _WINDOW_SIZE);
_graphics = Graphics.FromImage(_pbox.Image); _graphics = Graphics.FromImage(_pbox.Image);
_graphics.InterpolationMode = InterpolationMode.NearestNeighbor; //指定最临近插值法,禁止平滑缩放(模糊) _graphics.InterpolationMode = InterpolationMode.NearestNeighbor; //指定最临近插值法,禁止平滑缩放(模糊)
_graphics.CompositingQuality = CompositingQuality.HighQuality; _graphics.CompositingQuality = CompositingQuality.HighQuality;
_graphics.SmoothingMode = SmoothingMode.None; _graphics.SmoothingMode = SmoothingMode.None;
_pbox.MouseEnter += PboxOnMouseEnter;
Controls.Add(_pbox); Controls.Add(_pbox);
} }
@ -36,6 +37,12 @@ public class WinInfo : Form
Dispose(false); 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) protected override void Dispose(bool disposing)
{ {
base.Dispose(disposing); base.Dispose(disposing);