C# 窗体靠近屏幕边缘自动隐藏*学习(类似于QQ)

时间:2023-03-08 23:07:46
C# 窗体靠近屏幕边缘自动隐藏*学习(类似于QQ)
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;
using System.Data; namespace WinHide
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
} #region 窗体隐藏部分
void Timer1Tick(object sender, EventArgs e)
{
if(this.Bounds.Contains(Cursor.Position))
{
switch(this.StopAnhor)
{
case AnchorStyles.Top:
this.Location = new Point(this.Location.X,);
break;
case AnchorStyles.Left:
this.Location = new Point(,this.Location.Y);
break;
case AnchorStyles.Right:
this.Location = new Point(Screen.PrimaryScreen.Bounds.Width-this.Width,this.Location.Y);
break;
}
}else
{
switch(this.StopAnhor)
{
case AnchorStyles.Top:
this.Location = new Point(this.Location.X,(this.Height-)*(-));
break;
case AnchorStyles.Left:
this.Location = new Point((this.Width-)*(-),this.Location.Y);
break;
case AnchorStyles.Right:
this.Location = new Point(Screen.PrimaryScreen.Bounds.Width-,this.Location.Y);
break;
}
}
} internal AnchorStyles StopAnhor = AnchorStyles.None;
private void mStopAnhor()
{
if(this.Top <= )
{
StopAnhor = AnchorStyles.Top;
}
else if(this.Left <= )
{
StopAnhor = AnchorStyles.Left;
}
else if(this.Right >= Screen.PrimaryScreen.Bounds.Width)
{
StopAnhor = AnchorStyles.Right;
}
else
{
StopAnhor = AnchorStyles.None;
}
} void MainFormLocationChanged(object sender, EventArgs e)
{
this.mStopAnhor();
}
#endregion }