如何将sdl.net窗口添加到C#窗体应用程序?

时间:2013-03-03 07:00:57

标签: c# winforms sdl.net

我有一个大部分完整的C#winform应用程序(它很大,所以我无法从头开始重写),我想为它添加一个sdl.net窗口,以便显示一些内容我的应用程序以复杂的图形方式进行(sdl.net窗口必须以某种方式从我的应用程序中获得稳定的数据流,因此我不能创建另一个项目)。

问题是我该怎么办?这种事情有什么共同的做法吗?或者是一个类似的东西的教程?

简而言之,我可以将sdl.net窗口添加到C#winform应用程序,如果是,那么如何?

1 个答案:

答案 0 :(得分:0)

您可以创建自己的sdl.net窗口类,在创建时使用SdlDotNet.Graphics.Video.SetVideoMode()方法,在内部处理图形操作并提供从winform应用程序调用的公共方法。

类似的东西:

using System.Drawing;
using SdlDotNet.Graphics;

public class SdlWindow
{
    private Surface screen; // the display Surface

    /* ctor */
    public SdlWindow(Size size)
    {
        screen = Video.SetVideoMode(size.Width, size.Height);   // create a new sdl Surface and its own window container
        Video.WindowCaption = "Sdl Window";
    }

    /* your methods */
    public void DrawRectangle(Rectangle rect)
    {
        screen.Fill(rect, Color.Red);
        screen.Update();
    }

    /* cleanup a bit */
    public void Dispose()
    {
        if (screen != null)
            Video.Close();
    }
}

不要忘记在项目中添加对SdlDotNet.dll库的引用。

希望这有帮助!