问题标签 [keydown]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在 C# 中将“Keys”枚举值转换为“int”字符?
这似乎应该很容易,但我很难弄清楚这里需要发生什么。
在“KeyDown”事件处理程序中,如果“e.KeyValue”是一个数字,我想将其视为一个数字并将其存储为一个 int。所以,如果我在数字键盘上点击“8”,我不想要“Numpad8”,我想要可以添加或减去的 int 值 8 等等。
那么,如何将 KeyValue 转换为 int?
c# - 如何在 C# 中捕获触发 DataGridView 上的“CellEndEdit”的击键?
我有一个设置为 EditOnF2 的 DataGridView。我在设置单元格值的 CellEndEdit 事件处理程序中对数据进行了一些特殊处理。我仍然希望 EditOnKeystrokeOrF2 在按下 Esc 键时恢复到原始值的功能。不幸的是,在 CellEndEdit 事件处理程序中,我看不到一种方法来判断导致 CellEndEdit 事件被触发的原因。如果未按下 Esc 键,我只想更改单元格的值。我怎么知道是不是?
编辑:值得注意的是,在编辑单元格时不会触发 KeyDown 事件,也不会触发最终结束的击键。
Edit2:我已经尝试过 KeyPreview 建议,但表单仍然没有捕获被按下的 Escape 键。
Edit3:我一直在尝试让这个工作。我最初将以下一些内容作为单独的帖子发布,但觉得将其包含在此处可能更相关。
我在 DataGridView 中有一个单元格,现在设置为 EditProgrammatically。为了捕获开始编辑的击键,我将 cell.Value 设置为等于击键。但是,这会破坏单元格的“转义”功能 - 当您按下转义键时,它不会恢复到原始值,而是恢复到我以编程方式插入到单元格中的击键。
我相信如果我可以在一个单元格上设置“EditedFormattedValue”,这将是我想要放置我的击键值的地方,但这似乎是只读的。我怎样才能完成我正在尝试的事情?
一个澄清的例子:如果单元格中有一个值“54.3”,我按下“9”键,它开始编辑单元格并在那里放置一个“9”。如果我点击 Escape,它不会恢复为“54.3”,而是恢复为“9”。我想要的是让它恢复到“54.3”的原始值。
所以,我试图从头到尾解决这个问题。我认为真正的问题是我正在覆盖原始值并且无法确定是否应该恢复它。
Edit4:看起来 CellValidating 可能值得使用,但是当我尝试它时,我看到了奇怪的行为。在一个新项目中,我创建了 DataGridView 并注册了各种事件,并看到 CellValidating 在 CellEndEdit 之前被触发。但是,在我试图让它工作的项目中,CellEndEdit 在 CellValidating 之前触发。关于可能有什么区别的任何想法?
wpf - Making a WPF TabControl ignore Ctrl+Tab
I'm writing an app that uses the "tabbed browsing" metaphor, with a TabControl the full size of the window, and other stuff inside the tabs. Sometimes those tabs will themselves contain other TabControls.
(Tabs inside tabs can be confusing, so I'll re-style the inner TabControl so it doesn't look like a TabControl. I'll probably style it to use ToggleButtons at the top instead of tabs.)
I want this UI to behave like you would expect the tabbed-browsing metaphor to work: Ctrl+Tab should always switch tabs on the outer TabControl (the one that looks like a TabControl), even if keyboard focus is inside the inner TabControl (which doesn't look like a TabControl, and therefore shouldn't be expected to respond to Ctrl+Tab). But, of course, the inner TabControl gets the key event first and handles it itself.
What's the best way to keep the inner TabControl from responding to the Ctrl+Tab and Ctrl+Shift+Tab key events, so those events can bubble up to the outer TabControl?
c# - 在 C# 中捕获键盘笔划
你好,
我有以下问题 - 以下文本位于富文本框中。
今天的世界[[精彩]]。
如果用户在一个词的前后提供了两个括号,如wonder,括号中的词,在这种情况下,wonder会变成一个链接,(绿色)。
我在获取击键顺序时遇到问题,即。我怎么知道用户输入了 [[ ,所以我可以开始解析它后面的其余文本。
我可以通过处理 KeyDown、事件和列表来获得它,但它看起来一点也不优雅。
请让我知道什么应该是正确的方法。
谢谢, 苏杰
silverlight - Silverlight 文本框覆盖
我正在尝试获取一个文本框 keydown 事件来捕获退格键按下事件。我通过添加一个覆盖文本框的类来实现这一点。我不知道该怎么做是与文本框在用户控件中的类进行通信。
当用户在文本框中键入...说 abcd 或退格时,我需要更新用户控件上的某些内容。假设我想要显示文本框中有多少个字符的东西。有人可以帮我吗?这是我到目前为止所拥有的
谢谢香农
c# - C# - 俄罗斯方块克隆 - 无法正确响应箭头组合键
我正在用 Visual C# 2005 编写俄罗斯方块游戏。这是我设计的最广泛的程序。
我创建了一个形状类和一个块类来控制不同俄罗斯方块的位置、移动和显示。我对每个形状都有 moveDown()、moveLeft() 和 moveRight() 函数(以及相应的 canMoveDown()、canMoveLeft()、canMoveRight() 布尔函数来验证可以移动)。这一切都很好。
我想使用向下、向右和向左箭头键让用户移动块,除了使用计时器让形状每隔这么多毫秒自动下降一行。
我正在使用 KeyDown 事件处理程序来检查用户何时按下向下、向左和向右箭头键。这并不难。问题是我想允许对角线运动,并且我希望它尽可能顺利地工作。我尝试了很多不同的方法来解决这个问题,并取得了不同程度的成功。但我不能完全正确...
我最成功的方法是使用三个布尔变量来跟踪何时按下向下、向左和向右箭头键。我会在 KeyDown 事件中将布尔值设置为 true,在 KeyUp 事件中将布尔值设置为 false。在 KeyDown 事件中,我还会告诉块如何移动,使用布尔变量来检查当前正在按下哪个组合。它工作得非常好,除了一件事。
如果我按住其中一个箭头键并按住,然后按下第二个箭头键,然后释放第二个键,则块将完全停止移动,而不是继续朝尚未释放的第一个箭头键的方向移动然而。我认为这是因为第二个键触发了 KeyDown 事件,并且在其释放后 KeyUp 事件被触发,并且 KeyDown 事件完全停止触发,即使第一个键被触发。
我终其一生都无法为这个问题找到满意的解决方案。
任何帮助将不胜感激 =)
asp.net - 检测 F5 被按下并刷新
我有一个网络表单,我想检测是否按下了 F5 按钮或是否刷新了页面。我知道回发,但这不是我要找的。我有一个gridview,当单击按钮并为gridview设置参数值时,它会在模式弹出窗口中加载。当刷新被击中并且如果先前单击了模式弹出按钮,则模式弹出在刷新后立即可见。我想检测页面是否刷新以防止这种情况。有任何想法吗?我想尝试覆盖,但我不确定如何使用它。我尝试了 Control.ModifierKeys,但我无权访问 ModifierKeys。
apache-flex - flex Flex中的keydown
我在 flex 中有一个小型应用程序,其中定义了 2 个画布。在其中一个上我添加了控件,另一个用于绘制某些东西并且没有添加控件:
我添加了一个处理到应用程序的 keydown 事件,但只有在我用鼠标单击第一个 Canvas(已添加控件的那个)后才会触发它。否则,按下按键时不会触发事件。
我尝试了几件事:将焦点设置在第二个画布上,将 keydown 处理程序添加到应用程序(this)、舞台、画布......不幸的是,无论焦点在哪里,我都没有找到触发 keydown 的解决方案.
blackberry - 如何检测我的 Field 子类中的“删除”键?
我正在尝试检测并覆盖黑莓键盘上的 Delete 键。
出于某种原因,它从来没有在我的案例陈述中出现,因为它达到了这一点:
我的错误是什么?
silverlight - 如何在 Silverlight 应用程序中捕获击键?
我正在尝试捕获在我的 Silverlight 2 应用程序中发生的任何击键。没有任何输入字段,我正在编写游戏,并且需要知道正在按下哪个箭头键。我对如何通过事件处理程序捕获这些的最佳猜测是不成功的。有什么建议吗?