• WPF e.Systemkey的一个坑


    当用代码去控制按键盘F10按钮的时候,切换TabControl的标签页,然后再按其余的键盘键,无法响应

    原因就是这个systemkey,是因为F10为系统的按键,用e.key==key.f10是无效的,只能用systemkey,那么问题来了,

    一旦用了这个systemkey之后后续的键盘消息,previewkeydown是收不到的,不管设置什么焦点都没用。

    最后加上了一句e.handle=true;即可解决,大致意思为:我已经处理完了,系统别再搞其他事情了

    附上代码:

    xmal:

       <Grid Name="grid1">

            <TabControl Name="tab">
            </TabControl>
            <Label Height="50" Width="500" Name="lab" Background="BlanchedAlmond" Content="1"></Label>

        </Grid>

    .cs:

     public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                init_tab();
                PreviewKeyDown += (sender, e) =>
                {
                    if (e.SystemKey == Key.F10)
                    {
                        tab.SelectedIndex = 3;
                        e.Handled = true;
                    }
                    if (e.Key == Key.F5)
                    {
                        lab.Content = lab.Content + "2";
                    }
                };
            }

            public void init_tab()
            {
                TabItem item1 = new TabItem() { Header = "0", Content = "11111111" };
                TabItem item2 = new TabItem() { Header = "1", Content = "22222222" };
                TabItem item3 = new TabItem() { Header = "2", Content = "33333333" };
                TabItem item4 = new TabItem() { Header = "3", Content = "44444444" };
                tab.Items.Add(item1);
                tab.Items.Add(item2);
                tab.Items.Add(item3);
                tab.Items.Add(item4);
            }
        }

    总结:估计是系统做了些其他乱七八糟的处理,导致键盘消息无法接受,但是有个很奇怪的现象,

    按数字键是可以接收到的,即按了F10之后,再按数字键第一次是没反应的,第二次就有反应了,也是醉了。

  • 相关阅读:
    jquery attribute!=value选择器 语法
    jquery attribute=value选择器 语法
    jquery attribute选择器 语法
    jquery visible 选择器 语法
    jquery empty选择器 语法
    jquery contains选择器 语法
    jquery animated选择器 语法
    jquery header选择器 语法
    jquery lt选择器 语法
    jquery gt选择器 语法
  • 原文地址:https://www.cnblogs.com/kevinWu7/p/10163555.html
Copyright © 2020-2023  润新知