日期:2014-05-17  浏览次数:20701 次

控件设为透明了为什么响应不了它的事件?
需要将控件设为透明,但又要执行它的相关事件,为什么设了透明后它的事件就响应不了了?请问有什么办法可以解决?
控件 C#

------解决方案--------------------
0%不透明,这就是“皇帝的新衣”。

你可以把它设置为5%。或者更加靠谱地是去进行“命中测试”,而不是去简单地捕获时间。

比如说我们在右上方有一个相当大、动态的、漂亮的菜单面板,它挡在了真正也非常漂亮的内容的上面。但是如果鼠标点击内容,往往点击在这个菜单面板周边的阴影上,而不是“穿透它”去点击到内容上。这时候你就需要使用命中测试方式,在菜单面板的鼠标点击事件中去查找当前鼠标位置“穿透”了哪些控件,判断是否需要触发在底下图层的控件(的相应接口里的方法)。