这次给大家聊聊如何获取鼠标滚轮事件.
鼠标滚轮事件 在当前版本beta2中并没有 但是我们可以借助 HTMLpage 对象 HTMLPage(System.windows.browser;)(之前也多次提到过他如何捕捉Silverlight右键点击事件,如何在Silverlight中使用Cookie ) 实现此功能
HTMLPage.Window.AttachEvent("DOMMouseScroll", OnMouseWheel); HTMLPage.Window.AttachEvent("onmousewheel", OnMouseWheel); HTMLPage.document.AttachEvent("onmousewheel", OnMouseWheel); private voID OnMouseWheel(object sender, HTMLEventArgs args) { }
之后我们要在 方法中获取一个旋转角度属性
但是在不同浏览器中 这个属性的名称有些不同
根据这个角度我们可以得知鼠标正在向上或是向下滚动
double mouseDelta = 0; ScriptObject e = args.EventObject; if (e.GetProperty("detail") != null) {// 火狐和苹果 mouseDelta = ((double)e.GetProperty("detail")); } else if (e.GetProperty("wheelDelta") != null) {// IE 和 Opera mouseDelta = ((double)e.GetProperty("wheelDelta")); } mouseDelta = Math.Sign(mouseDelta); if (mouseDelta > 0) { txt.Text = "向上滚动"; } else if (mouseDelta<0) { txt.Text = "向下滚动"; }
接下来 再给大家聊聊 如何获取键盘的组合键(比如我们经常按住ctrl+鼠标点击 或者 ctrl+enter)
其实 我们只要用到一个枚举值
namespace System.windows.input { // Summary: // SpecifIEs the set of modifIEr keys. [Flags] public enum ModifIErKeys { // Summary: // No modifIErs are pressed. None = 0, // // Summary: // The ALT key is pressed. Alt = 1, // // Summary: // The CTRL key is pressed. Control = 2, // // Summary: // The SHIFT key is pressed. Shift = 4, // // Summary: // The windows logo key is pressed. windows = 8, // // Summary: // The Apple key (also kNown as the "Open Apple key") is pressed. Apple = 8, } }
具体如何方法
好比我们现在页面注册一个点击事件
this.MouseleftbuttonDown += new MousebuttonEventHandler(Page_MouseleftbuttonDown); voID Page_MouseleftbuttonDown(object sender, MousebuttonEventArgs e) {}
我们需要在里面做一点儿小 *** 作就可以判断用户是否还在按住了键盘上的某个按键
ModifIErKeys keys = Keyboard.ModifIErs; txt.Text = ""; if ((keys & ModifIErKeys.Shift) != 0) txt.Text += "shift"; if ((keys & ModifIErKeys.Alt) != 0) txt.Text += "alt"; if ((keys & ModifIErKeys.Apple) != 0) txt.Text += "apple"; if ((keys & ModifIErKeys.Control) != 0) txt.Text += "ctrl"; if ((keys & ModifIErKeys.windows) != 0) txt.Text += "windows"; txt.Text += " + 鼠标点击";
以上是个人总结的一点小技巧而已~ 希望这点技巧对你有所帮助^^
Source code: Mouse_Wheel_keys_Event Deom
@H_403_2@ 总结以上是内存溢出为你收集整理的silverlight技巧 获取鼠标滚轮事件 及 判断获取组合键的方法全部内容,希望文章能够帮你解决silverlight技巧 获取鼠标滚轮事件 及 判断获取组合键的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)