Silverlight:纠结的快捷键问题

时间:2022-04-23
本文章向大家介绍Silverlight:纠结的快捷键问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

如果SL是以浏览器模式运行的,要想找到满意的快捷键,通常会让人郁闷,因为浏览器会优先拦截掉大部分默认的快捷键,如果您还安装了某些IE插件,它们的优先级也比SL高,此外,如果还开着QQ等东东,QQ又会占用一些快捷键,这样剩下可用的快捷键就不多了。

测试代码如下:

void MainPage_KeyDown(object sender,KeyEventArgs e)
{

    e.Handled = true;
    ModifierKeys keys = Keyboard.Modifiers;
    bool b1 = false;
    if ((e.Key >= Key.A && e.Key <= Key.Z) || (e.Key>=Key.D0 && e.Key<=Key.D9) || (e.Key>=Key.NumPad0 && (e.Key<=Key.NumPad9))) 
    {
        b1 = true;
    }
    bool b2 = (keys != ModifierKeys.None);
    bool b3 = (b1 && b2);
    string msg = string.Format("按键={0},控制键={1},按键是否有效={2},控制键是否有效={3},组合键是否有效={4}", e.Key, keys, b1, b2, b3);            
    System.Diagnostics.Debug.WriteLine(msg);
    test.Text = msg;

    if (b3) 
    {
        MessageBox.Show(string.Format("捕获到的组合键为:{0}+{1}", keys.ToString(), e.Key.ToString()));
    }
}

经过我实际测试,可用的快捷键如下:(当然并未穷举测试所有的组合)

Ctrl + A(注:这个虽然可响应,但是一般用于全选,意义不大) Ctrl + C(注:这个虽然可响应,但是一般用于复制,意义不大) Ctrl + F(注:这个虽然可响应,但是一般用于查找)) Ctrl + U Ctrl + V(注:这个虽然可响应,但是一般用于粘贴,意义不大) Ctrl + X Ctrl + Y Ctrl + Z(注:这个虽然可响应,但是一般用于撤销) Ctrl + 0 (数字0) --------------- Ctrl + 小键盘数字0-9 ---------------------------- Ctrl + Alt + 小键盘数字0-9 ---------------------------- Ctrl + Alt + 数字0-9 ---------------------------- Ctrl + Shift + 数字1-9