[Windows8开发] 小知识点(VirtualKey)

有时候开发为了用户方便,设置键盘与输入按钮绑定,比如输入时,自定义键盘1234,当用户想直接敲击实体键盘或者虚拟键盘时,依然显示1234,这时候就需要用VirtualKey了。下面就是一个简单的例子。

首先在xaml中添加事件Page_KeyDown,也就是按下按键后触发的事件,然后转到C#添加如下代码:

private void Page_KeyDown(object sender, KeyRoutedEventArgs e)
{
            
     if (e.Key == VirtualKey.Back) //按下Backspace键
     {
          //执行代码
     }
}

中文MSDN中列举了许多VirtualKey的Code,网址: http://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/windows.system.virtualkey.aspx

枚举到165。可是在我开发的时候发现,减号的Key 是189,加号是Shift和187(也就是按下Shift后再按等号,所以等号是187),这两个数都超过了165怎么办?不用急,直接写上

if(e.Key.ToString()=="189")就可以了!当然如果是组合键,也就是需要先按Shift的话,那么就要做判断了,设置一个变量来控制按下Shift后下一个按钮来判断用户到底想按哪个键(如果按下的是这类组合键后系统会重新执行Page_Down())。

if (e.Key == VirtualKey.Shift)
{
    jjcc = 1;
}
if (e.Key.ToString() == "187")
{
    if (jjcc == 1)
    { plus(null, null); jjcc = 0; } //按下加号(Shift+等号)
    else
    { equal(null, null); jjcc = 0; }//按下等号
}

检测大写键是否开启:

if (Window.Current.CoreWindow.GetKeyState(Windows.System.VirtualKey.NumberKeyLock) == Windows.UI.Core.CoreVirtualKeyStates.Locked)
{
//Code
}

 

转载于:https://www.cnblogs.com/zetianchiang/archive/2012/10/29/2744727.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值