【 tulaoshi.com - 编程语言 】
                             
                            以下给出源代码: (注:hide为窗体名称) 
代码如下:
private void hide_Load(object sender, EventArgs e) 
{ 
System.Windows.Forms.Timer StopRectTimer = new System.Windows.Forms.Timer(); 
StopRectTimer.Tick += new EventHandler(timer1_Tick); 
StopRectTimer.Interval = 100; 
StopRectTimer.Enabled = true; 
} 
private void timer1_Tick(object sender, EventArgs e) 
{ 
if (this.Bounds.Contains(Cursor.Position)) 
{ 
switch (this.StopAanhor) 
{ 
case AnchorStyles.Top: 
this.Location = new Point(this.Location.X, 0); 
break; 
case AnchorStyles.Left: 
this.Location = new Point(0, this.Location.Y); 
break; 
case AnchorStyles.Right: 
this.Location = new Point(Screen.PrimaryScreen.Bounds.Width - this.Width, this.Location.Y); 
break; 
} 
} 
else 
{ 
switch (this.StopAanhor) 
{ 
case AnchorStyles.Top: 
this.Location = new Point(this.Location.X, (this.Height - 2) * (-1)); 
break; 
case AnchorStyles.Left: 
this.Location = new Point((-1) * (this.Width - 2), this.Location.Y); 
break; 
case AnchorStyles.Right: 
this.Location = new Point(Screen.PrimaryScreen.Bounds.Width - 2, this.Location.Y); 
break; 
} 
} 
} 
internal AnchorStyles StopAanhor = AnchorStyles.None; 
private void mStopAnhor() 
{ 
if (this.Top = 0) 
{ 
StopAanhor = AnchorStyles.Top; 
} 
else if (this.Left = 0) 
{ 
StopAanhor = AnchorStyles.Left; 
} 
else if (this.Left = Screen.PrimaryScreen.Bounds.Width - this.Width) 
{ 
StopAanhor = AnchorStyles.Right; 
} 
else 
{ 
StopAanhor = AnchorStyles.None; 
} 
} 
private void hide_LocationChanged(object sender, EventArgs e) 
{ 
this.mStopAnhor(); 
}