我正在尝试使用XNA WinForms系统,因此我可以使用游戏编辑器,我需要使用鼠标。由于XNA Mouse输入类根据窗口的位置报告鼠标位置,因此我需要将表单放在同一位置。如何获得XNA游戏使用的窗口位置?
答案 0 :(得分:4)
我最终用这段代码做了:
Form gameWindowForm = (Form)Form.FromHandle(this.Window.Handle);
...
myForm.Location = new System.Drawing.Point(gameWindowForm.Location.X - 5,gameWindowForm.Location.Y - 5); //-5 pixels for adjustment
只是花花公子!
答案 1 :(得分:1)
X
结构的Y
和Game.Window.ClientBounds
属性应该为您提供您正在寻找的绝对窗口坐标。
答案 2 :(得分:0)
我的关卡编辑器也遇到了这个问题。我的Windows窗体中有一个图片框,所以在初始化XNA游戏时我唯一需要做的事情:
Mouse.WindowHandle = this.windowForm.Viewport.Handle;
其中Viewport
是图片框
现在可以自动调整XNA鼠标位置。