当前位置:编程学习 > C#/ASP.NET >>

C#Winform组合控件上,鼠标移进移除引发组合控件上的某控件显示或隐藏

PicControl组合控件结构:一个PictureBox、一个Panel上放在两个按钮(Panel默认为隐藏状态)
在主窗体中动态加载组合控件PicControl
我现在希望看到的效果:当鼠标在组合控件范围内,两个按钮显示并能点击到,离开组合控件范围则隐藏
如何实现?
--------------------编程问答-------------------- 其实就是PicControl的MouseEnter和MouseLeave事件,还以在PicControl中用timer定时取鼠标位置,看看在不在其中 --------------------编程问答-------------------- 判断鼠标的坐标范围,比如
if(鼠标.x>控件.left&&鼠标.X<控件.right&&鼠标.y>控件.top&&鼠标.y<控件.bottom)
方法不一,仅供参考 --------------------编程问答--------------------
引用 2 楼 sharonyshi 的回复:
判断鼠标的坐标范围,比如
if(鼠标.x>控件.left&&鼠标.X<控件.right&&鼠标.y>控件.top&&鼠标.y<控件.bottom)
方法不一,仅供参考

什么时候做判断? --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
其实就是PicControl的MouseEnter和MouseLeave事件,还以在PicControl中用timer定时取鼠标位置,看看在不在其中

如果主窗体中加载几十个这样的组合控件,这么多timer会不会太消耗了? --------------------编程问答-------------------- Panel的Dock为Right,PictureBox的Dock为Fill,当Panel隐藏的时候,PictureBox覆盖了整个控件,这样PicControl的MouseEnter和MouseLeave事件很难被触发到。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,