程序的界面上面有许多个Label控件,给所有这些Label注册了MouseMove和MouseLeave事件
实现的效果是,当鼠标经过或停留在Label控件上时,显示Label的边框,当鼠标指针离开Label隐藏边框。
就是只有当鼠标经过Label时,才让用户看到Label控件(控件的背景设置得和父窗体的毕竟颜色一致,这样不显示边框时就好像隐藏起来一样)
同时还注册了Label的TextChanged事件,当有内容时显示Label边框(没内容的时候我都会把Text属性设置为6个空格)很简单的效果,效果是实现了,但是在实际运行中,有时候MouseLeave事件有时候会没有触发,就是鼠标离开了Label,但是边框仍然存在。这种情况特别在鼠标移动快,在各个Label之间快速移动的时候出现的较多。只有再把鼠标指针再一次移到Label上,再移开,边框才消失。请问大家这是什么原因?以下是相关代码private void windowText_Changed(object sender, EventArgs e)
{
Label window = (Label)sender;
if (window.Text == " ")
window.BorderStyle = BorderStyle.None;
else
window.BorderStyle = BorderStyle.Fixed3D; } private void mouseOverWindow(object sender, MouseEventArgs e)
{
Label window = (Label)sender;
window.BorderStyle = BorderStyle.Fixed3D;
} private void mouseLeaveWindow(object sender, EventArgs e)
{
Label window = (Label)sender;
if (window.Text == " ")
window.BorderStyle = BorderStyle.None;
}
实现的效果是,当鼠标经过或停留在Label控件上时,显示Label的边框,当鼠标指针离开Label隐藏边框。
就是只有当鼠标经过Label时,才让用户看到Label控件(控件的背景设置得和父窗体的毕竟颜色一致,这样不显示边框时就好像隐藏起来一样)
同时还注册了Label的TextChanged事件,当有内容时显示Label边框(没内容的时候我都会把Text属性设置为6个空格)很简单的效果,效果是实现了,但是在实际运行中,有时候MouseLeave事件有时候会没有触发,就是鼠标离开了Label,但是边框仍然存在。这种情况特别在鼠标移动快,在各个Label之间快速移动的时候出现的较多。只有再把鼠标指针再一次移到Label上,再移开,边框才消失。请问大家这是什么原因?以下是相关代码private void windowText_Changed(object sender, EventArgs e)
{
Label window = (Label)sender;
if (window.Text == " ")
window.BorderStyle = BorderStyle.None;
else
window.BorderStyle = BorderStyle.Fixed3D; } private void mouseOverWindow(object sender, MouseEventArgs e)
{
Label window = (Label)sender;
window.BorderStyle = BorderStyle.Fixed3D;
} private void mouseLeaveWindow(object sender, EventArgs e)
{
Label window = (Label)sender;
if (window.Text == " ")
window.BorderStyle = BorderStyle.None;
}
解决方案 »
- string 字符串------->Wait on line
- 如何将默认树状展开! 就是一进来界面就完全展开!谢谢
- 用VS2005工具进行debug , 有些问题想问大家。。。。。。。。
- 汉诺塔演示优化,有代码
- 能不能在已再VS2005关闭Designer 后,在打开它,接着设计
- 初學者的問題 各位大哥幫忙解決一下
- 初学OOP的问题:未将对象引用设置到对象的实例
- 大问题,我的 Project 中 aspx 文件 无法引用 javascript 脚本的头文件
- 关于WINFROM中LISTVIEW的问题
- 一个Socket的问题?
- Oracle数据类型在C#中对应的数据类型
- 如何用c#编辑获取Webservice上的天气信息生成XML文档
谢谢你的回复
扩展一下Label控件,具体怎么扩展,可否简单说下为什么不要在窗体上注册事件?可能是你理解错了我的意思,我是给每个Label都注册了那几个事件,不是给父窗体注册的。最后的那个建议我试一下,应该可行
如果必须具有当前焦点,那怎么解释有些可以触发有些不可以触发呢?所有的Label都没有设置焦点