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,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.StopAnhor) { case AnchorStyles.Top: this.Location = new Point(this.Location.X,(this.Height-4)*(-1)); break; case AnchorStyles.Left: this.Location = new Point((this.Width-4)*(-1),this.Location.Y); break; case AnchorStyles.Right: this.Location = new Point(Screen.PrimaryScreen.Bounds.Width-4,this.Location.Y); break; } } } internal AnchorStyles StopAnhor = AnchorStyles.None; private void mStopAnhor() { if(this.Top <= 0) { StopAnhor = AnchorStyles.Top; } else if(this.Left <= 0) { 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 }