0

C# WinForms:如果这个软件人们也将使用非英语语言,那么将是一个编写这样的代码,还是可以吗?有没有更好的.NET 方式来编写它?

if (eventArgs.KeyChar == (char)22)

由 RB 编辑char(22)Synchronous Idle,但更广为人知的是“Ctrl+V”或“Paste”。他在问如何在 WinForms 中检测“粘贴”。

4

2 回答 2

2

如果您的问题是关于代码的可读性,那么您可以将其编写得更简洁。哪个字符是 22?我不知道,必须查一下。我不应该这样做,因此代码可能更具可读性。您可以通过以下方式重新考虑这一点

  • 简单地使用你需要的字符,即。eventArgs.KeyChar == 'e'
  • 使用一些枚举,例如,eventArgs.KeyChar == Keys.E
于 2012-10-19T14:18:15.860 回答
1

由于Keys枚举没有定义 SYN 键,这应该可以工作。

但也许你应该在某个地方声明一个

public static readonly char SynChar = (char)22;
于 2012-10-19T14:22:02.807 回答