所以我正在使用SdlDotNet - 它基本上将SDL调用转换为C#应该是什么样的,我遇到了一个问题。
这个问题是因为SdlDotNet在与我的应用程序的主要部分不同的类中运行 - 我无法检测它何时关闭。
SdlDotNet库有一个事件,当它被告知关闭时会触发,该事件是:
SdlDotNet.Core.Events.Quit
在对象查看器中 - 事件显示如下:
public static event System.EventHandler<QuitEventArgs> Quit
Member of SdlDotNet.Core.Events
我做了什么,是否有一个主要的Windows窗体应用程序调用SDL类,如下所示:
private void drawToScreen()
{
//Starts the SDL off drawing to the screen
SDLDraw sdl = new SDLDraw();
sdl.startDrawing();
//How would I go about detecting SdlDotNet.Events.Quit
//From the class I've instanced
//When I was on my original Windows Forms implementation
//It worked like this:
////sdl.FormClosed += new FormClosedEventHandler(detectClose);
//But just copying that structure and trying
////sdl.Events.Quit += new QuitArgs(detectClose);
//Doesn't have the same effect, because sdl does not contain a definition for 'Events'
}
private void detectClose(object sender, QuitArgs e)
{
MessageBox.Show("SDL closed!")
}
所以,我想问题是我如何在我从类中调用的类中调用Events.Quit触发?
提前致谢!
答案 0 :(得分:0)
声明显示这是一个静态事件,因此它与类相关联,而不是与实例相关联。使用
SdlDotNet.Core.Events.Quit += new QuitArgs(detectClose);