1

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 项目中尝试了这些解决方案,但它们都不起作用。我做错了什么?

4

0 回答 0