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