微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何检查屏幕键盘的Ctrl键是否被按下?

我目前有这个代码

DataGrid.SelectionChanged += new SelectionChangedEventHandler(DataGrid_SelectionChanged);

        private void DataGrid_SelectionChanged(object sender,EventArgs e)
        {
            if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
            {
                //do stuff
            }
        }

当数据网格中的选择发生变化时,代码会检查Ctrl按钮,这对于检测正常物理键的Ctrl键很有效,但是当我使用屏幕键盘并按下Ctrl键时,它不会在我的程序中注册.此代码的根目录是您无法在使用屏幕键盘的Ctrl键时单击WPF中的Datagrid中的行.

编辑:似乎满足if条件,如果在屏幕键盘上,我按ctrl然后按“A”(选择全部).没有其他快捷方式(ctrl c,ctrl v触发此响应)

解决方法

我最终围绕问题进行了编码,并在数据网格中的每一行都添加一个复选框.虽然这不再允许使用ctrl单击和移位单击,但选择机制的工作方式与在触摸屏上的工作方式相同,就像在物理键盘上一样.我希望屏幕键盘最终会更全面,并且有更少的“错误”.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐