我如何检查游戏是否已关闭?

时间:2010-06-08 12:43:38

标签: c# xna

我正在尝试创建游戏,现在我想检查游戏是否正在关闭,所以我将向服务器发送消息,我该怎么做? (XNA)

2 个答案:

答案 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
}