【问题标题】:C# WPF button clickC# WPF 按钮单击
【发布时间】:2011-05-11 20:02:50
【问题描述】:

如果有办法检查一个键是否被点击,我会问吗?

我想要实现的是创建类似文本编辑器的东西,我已经完成了大部分部分。现在,当我按下一个按钮时,我在元素 PreviewKeyUp 和另一个 PreviewKeyDown 下有一个函数......有类似 PreviewKeyClickKeyClick 的东西吗?

PS:我正在使用 Visual Studio 2010 并针对 .NET Framework 3.5 进行编译...我知道我可以使用 4.0 但 3.5 是由于客户端 PC 的限制。该应用程序以特定客户端为目标,我无法更新客户端计算机上的 .NET Framework。如果需要更多详细信息,请随时询问。

【问题讨论】:

标签: c# wpf .net-3.5


【解决方案1】:

通常,对于文本编辑器,您需要处理 TextInput(或 PreviewTextInput)和 KeyDown/PreviewKeyDown 事件。后者处理未包含在 TextInput 事件中的键。

【讨论】:

  • 成功了!现在除了其他键之外,我如何读取退格键、空格键和返回键?
  • @sikas - 我相信您需要将 KeyDown 用于 Backspace/Delete 等操作,但一般文本输入应通过 TextInput 处理。 TextInput 在各种事情上都很聪明,比如输入非 ASCII 字符。不同的语言有不同的规则/输入。因此,在英语中输入“ab”将是“ab”,但在另一种语言中,它可能会导致顶部带有重音/波浪号的“a”。
【解决方案2】:

KeyPress 事件是我认为您正在寻找的。警告:它不适用于非字符键。

【讨论】:

  • 我在按“K”时看到的列表中找不到 KeyPress 事件...我只能找到 KeyUp 和 KeyDown!
  • msdn.microsoft.com/en-us/library/…我不知道为什么你看不到它,但它在那里
  • 我猜它在 WPF 中不支持!
  • @sikas 正确。在 WPF 中,您可能希望使用 KeyDown
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 2016-03-02
  • 2015-10-08
  • 2012-07-26
  • 1970-01-01
  • 2018-11-15
相关资源
最近更新 更多