private void Yincangtimer_Tick(object sender, EventArgs e)//窗体隐藏事件
{
int a =
Control.MousePosition.Y;//光标的在屏幕中的 Y 坐标
int b =
Control.MousePosition.X;//光标的在屏幕中的 X 坐标
int height =
Screen.PrimaryScreen.WorkingArea.Height;//屏幕的高
int width =
Screen.PrimaryScreen.WorkingArea.Width;//屏幕的宽
int x =
this.Left;//窗体的在屏幕中的X坐标
int y =
this.Top;//窗体的在屏幕中的Y坐标
//判断光标是否在窗体内
if (b >=
x && b <= (this.Width + x) && a >= y && a <=
(this.Top + this.Height))
{
return;
}
else
{//隐藏窗体
if ((x + this.Width) >= width)
{
this.Top = this.Top;
this.Left = width - 5;
}
else if (x <= 0)
{
this.Top = this.Top;
this.Left = 5 - this.Width;
}
else if (y <= 0)
{
this.Left = this.Left;
this.Top = 5 - this.Height;
}
else
{
return;
}
}
}
//光标离开窗体
private void MainForm_MouseLeave(object sender,
EventArgs e)
{
Yincangtimer.Start();
}
//光标进入窗体
private void MainForm_MouseEnter(object sender,
EventArgs e)
{
int height =
Screen.PrimaryScreen.WorkingArea.Height;//屏幕的高
int width =
Screen.PrimaryScreen.WorkingArea.Width;//屏幕的宽
if
(this.Left < 0)
{
this.Left = 0;
this.Top = this.Top;
Yincangtimer.Stop();
}
else if
(this.Left > width - this.Width)
{
this.Left = width - this.Width;
this.Top = this.Top;
Yincangtimer.Stop();
}
else if
(this.Top <= 0)
{
this.Left = this.Left;
this.Top = 0;
Yincangtimer.Stop();
}
else
{ return; }
}