
c# 大侠们,如何实现鼠标放在托盘图标上面自动弹出窗口,移开自动关闭弹出的窗口,效果类似QQ,谢谢! 5
用NotifyIton属性的MouseMove能判断出鼠标已经在图标上面,但离开图片的时候怎么判断,多谢!!...
用NotifyIton属性的MouseMove能判断出鼠标已经在图标上面,但离开图片的时候怎么判断,多谢!!
展开
2个回答
展开全部
可以加一个timer控件,判断鼠标是否在图标上,我把我以前写过的类似功能的代码贴在下面供你参考~
private void timer1_Tick(object sender, EventArgs e)
{
//检查光标位置是否在面板内
Point p1 = this.panel1.PointToScreen(new Point(0, 0));
Point p2 = this.panel1.PointToScreen(new Point(listView1.Right, listView1.Bottom));
Point pCur = Cursor.Position;//当前鼠标光标位置
if (pCur.X < p1.X || pCur.X > p2.X || pCur.Y < p1.Y || pCur.Y > p2.Y)
{
this.listView1.Width = m_nPanFunHideWidth;
this.panel1.Width = m_nPanFunHideWidth;
}
else
{
this.listView1.Width = m_nPanFunWidth;
this.panel1.Width = m_nPanFunWidth;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
//检查光标位置是否在面板内
Point p1 = this.panel1.PointToScreen(new Point(0, 0));
Point p2 = this.panel1.PointToScreen(new Point(listView1.Right, listView1.Bottom));
Point pCur = Cursor.Position;//当前鼠标光标位置
if (pCur.X < p1.X || pCur.X > p2.X || pCur.Y < p1.Y || pCur.Y > p2.Y)
{
this.listView1.Width = m_nPanFunHideWidth;
this.panel1.Width = m_nPanFunHideWidth;
}
else
{
this.listView1.Width = m_nPanFunWidth;
this.panel1.Width = m_nPanFunWidth;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询