MonthCalendar上使ToolTip随鼠标位置实时变化

想写一个在日历上的实时提醒功能,即在鼠标滑动到某一天时提示相应信息。

MonthCalendar上监视MouseMove事件

开始遇到的问题是实时刷新时会使界面刷新变慢,即MouseMove事件会连续触发,至今不明原理。。。(可能是因为ToolTip的刷新会触发鼠标时间吧。。。)

修改为如下判断鼠标坐标后可正常使用。

 

private void monthCalendar1_MouseMove123(object sender, MouseEventArgs e)
        {
            if (p == Cursor.Position)
            {
                return;
            }
            else
            {
                p = new Point(Cursor.Position.X, Cursor.Position.Y);
            }

            MonthCalendar.HitTestInfo info = this.monthCalendar1.HitTest(e.Location);
            string s = tp.GetToolTip(this.monthCalendar1);
            //if (s.Equals(info.Time.ToString()))
            //{
                //tp.Show(info.Time.ToString(), this.monthCalendar1, new Point(e.X, e.Y));
                //return;
           // }
            //else
            {
                tp.SetToolTip(this.monthCalendar1, info.Time.ToString());
            }
        }


 

相关内容推荐