您的位置:首页 > 编程语言 > C#

C#WinForm自定义控件自动停靠

2011-07-25 15:29 951 查看
简单原理:主要是用Timer控件,在实时判断当前鼠标焦点位置,如果在自定义控件上时,自定义控件显现;鼠标焦点离开自定义控件范围后,自定义控件隐藏。这样的考虑是用户体验会更好,比通过保留一定的像素长度判断鼠标位置展现好,同时实现简单。

首先定义一个Timer控件

this.StopRectTimer.Enabled = true;
this.StopRectTimer.Interval = 700;
this.StopRectTimer.Tick += new System.EventHandler(this._Tick_panel_bar);


_Tick_panel_bar的实现如下所示

private void _Tick_panel_bar(object sender, System.EventArgs e)
{
if (this.panel_bar.Bounds.Contains(Cursor.Position))
{
this.panel_bar.Visible = true;
}
else
{
this.panel_bar.Visible = false;
}
}


最后是通过控制计时器的开始和停止来实现是否隐藏自定义控件

StopRectTimer.Start();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: