XNA 只支持英文键盘,所以我想使用 System.Windows.Forms 的 KeyPress 事件。但我不能。为什么?
我尝试了自己的代码:
// 1st
FromHandle(Window.Handle).FindForm().KeyPress += new System.Windows.Forms.KeyPressEventHandler(KeyPressEvent);
// 2nd
FromHandle(Window.Handle).FindForm().KeyPress += KeyPressEvent;
在我找到并尝试了 stackoverflow 的解决方案后:
using System.Windows.Forms; ... var form = (Form)Form.FromHandle(window.Handle); form.KeyPress += form_KeyPress; ... private void form_KeyPress(Object sender, KeyPressEventArgs e) { Console.WriteLine(e.KeyChar); e.Handled = true; }
我也在一个新的、空的 C# XNA 项目中尝试了这些解决方案,但它们都不起作用。我做错了什么?