草庐IT

按键码

全部标签

c# - WPF:如何防止控件窃取按键手势?

在我的WPF应用程序中,我想将输入手势附加到命令,以便输入手势在主窗口中全局可用,无论哪个控件具有焦点。在我的例子中,我想将Key.PageDown绑定(bind)到一个命令,但是,一旦某些控件获得焦点(例如TextBox或TreeView控件),这些控件就会收到键事件并且命令不再被触发。这些控件没有定义特定的CommandBindings或InputBindings。这就是我定义输入手势的方式:XAML:代码:usingSystem;usingSystem.Windows;usingSystem.Windows.Input;publicstaticclassCommands{priv

c# - 如何在 winform 和 wpf 中以编程方式进行鼠标移动、单击、右键单击和按键等操作?

如何在winform和wpf中以编程方式进行鼠标移动、单击、右键单击和按键等操作。如果可能,请帮助我提供代码片段。 最佳答案 如果我正确理解您的问题,那么您想要真正模拟输入。在这种情况下,SendInput是可行的方法。来自thislinkPInvoketoSendInput–thisistheofficialwaytosimulateinput.Itpushestheinputthroughalloftheexpectedcodepaths,andisindistinguishablefromrealinput.一个简单的使用方法

c# - 如何捕捉 C# .NET 窗体上的按键

我有一个包含很多控件的父窗体。我想要做的是过滤该表单的所有按键。问题在于,如果焦点位于窗体上的控件之一,那么父窗体将无法获得按键事件,那么我该如何捕获按键按下事件呢? 最佳答案 在您的表单上将KeyPreview设置为true,您将捕捉到它们:MSDN 关于c#-如何捕捉C#.NET窗体上的按键,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3001237/

c# - 以编程方式为 WPF 单元测试生成按键

我正在尝试对WPF控件进行单元测试,并且需要模拟按键按下。我看到了一个可能的解决方案here,但是当我尝试传入PresentationSource时,我不断得到一个空值(来自PresentationSource.FromVisual()或PresentationSource.FromDependencyObject()),这会触发异常。我的问题是如何获得可在单元测试中使用的非空PresentationSource? 最佳答案 您可以像这样扩展PresentationSource类:publicclassFakePresentatio

c# - 在 Visual Studio 2010 中按键入计算代码指标

想要改进此帖子?提供此问题的详细答案,包括引用和对答案正确原因的解释。不够详细的答案可能会被编辑或删除。我正在寻找可以在方法体旁边或在我键入时在工具窗口中显示代码指标(尤其是圈复杂度)的扩展(无需额外交互)。目前我知道:CodeMetricesbyElisha:免费且简单。我不知道它计算的是什么指标,但在某处读到它不是圈复杂度。它不支持任何其他指标。CodeMetricAdornmentbyCarpslayer:仅支持代码文件中的代码行、注释和空格。CodeRush:不是免费的。正是我想要的(指标是可选的),不幸的是,我已经在使用ReSharper,而且我认为同时拥有/购买两者是一种矫

c# - 在 C# 中捕获多个按键

在WindowsForms中工作时如何在C#中捕获多个按键按下形式?我似乎无法同时获得向上箭头和向右箭头。 最佳答案 我认为您最好使用GetKeyboardStateAPI函数。[DllImport("user32.dll")]publicstaticexternintGetKeyboardState(byte[]keystate);privatevoidForm1_KeyDown(objectsender,KeyEventArgse){byte[]keys=newbyte[256];GetKeyboardState(keys);i

c# - 如何禁止在 .NET 中将按键打印到控制台?

我正在将一个小型C++控制台游戏移植到C#,似乎我无法阻止将按键打印到控制台。在C++中,我使用此方法获取击键,这也禁止将击键打印到控制台:boolGame::getInput(char*c){if(_kbhit()){*c=_getch();returntrue;}returnfalse;}我尝试通过以下方式在C#中执行等效操作:Key=Console.ReadKey();但这并没有抑制字符被打印到控制台,导致明显的问题。关于如何解决这个问题的任何想法? 最佳答案 你想要Console.ReadKey(true)Obtainsth

c# - 全局 Windows 按键

我有一个简单的WPF应用程序,我需要捕获在Windows(操作系统)中按下的F1键,即使我的WPF窗口已最小化或未激活。我在检测这个问题时遇到了问题。我在Internet上搜索并找到了很多结果,但它们对我没有帮助。为了检测在应用程序内部按下的键,我使用了这个简单的代码:AddHandler(Keyboard.KeyDownEvent,(KeyEventHandler)KeyPressed);privatevoidKeyPressed(objectsender,KeyEventArgse){if(e.Key==Key.F1){//mycodewenthere}}但是当我的窗口未激活时这不

c# - 按键和值对字典进行排序?

如果我想在C#中使用由其键和值确定的顺序对字典进行排序,该怎么办?就像按其值降序和在具有相同值的那些中,按其键降序一样。仅按键或仅按值排序似乎很有可能,但两者都很烦人。 最佳答案 usingSystem.Linq;...IOrderedEnumerable>sortedCollection=myDictionary.OrderByDescending(x=>x.Value).ThenByDescending(x=>x.Key); 关于c#-按键和值对字典进行排序?,我们在StackOve

javascript - angular.js 监听按键作为按钮的快捷方式

我的第一个Angular应用程序是一个非常基本的调查工具。我有多个选择题,每个答案都有一个按钮,还有一个基本功能,可以在单击按钮时记录每个答案,如下所示:ng-click="logAnswer(answer.id)"我正在寻找的是能够将按键事件添加到文档中,该事件将监听1、2、3、4、5的键盘响应,该响应与按钮选择相匹配并调用相同的函数.在四处搜索时,一旦特定输入字段获得焦点,我只能找到与按键相关的响应,这对我没有帮助。我确实在这篇文章中找到了OP的回复Angular.jskeypresseventsandfactories这似乎在朝着正确的方向前进,但我就是不知道如何让他的指令调用我