我正在尝试创建游戏,现在我想检查游戏是否正在关闭,所以我将向服务器发送消息,我该怎么做? (XNA)
答案 0 :(得分:11)
正确的方法是,在Game
班级中,覆盖OnExiting
:
protected override void OnExiting(object sender, EventArgs args)
{
// Do stuff here...
base.OnExiting(sender, args);
}
此方法的文档位于:http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.game.onexiting.aspx
或者,您可以将事件附加到Game.Exiting
。
或者您可以覆盖EndRun
,但如果用户以Alt + F4退出,则在Windows上似乎不会触发。
答案 1 :(得分:2)
试试这个(在this site上找到)
protected override void LoadContent()
{
Form f = Form.FromHandle(Window.Handle) as Form;
if (f != null)
{
f.FormClosing += f_FormClosing;
}
base.LoadContent();
}
void f_FormClosing(object sender, FormClosingEventArgs e)
{
// your code here
}