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

本文关键字:窗体 应用程序 添加 窗口 sdl net | 更新日期: 2023-09-27 18:02:00

我有一个基本完整的c# winform应用程序(它是巨大的,所以我不能真的从头开始重写它),我想添加一个sdl.net窗口给它,以便显示一些我的应用程序在一个复杂的图形化的方式(sdl.net窗口必须以某种方式从我的应用程序获得稳定的数据流,所以我不能只是做另一个项目)。

问题是我该怎么做?这类事情有什么惯例吗?或者是做类似事情的教程?

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

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

你可以创建自己的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库的引用。

希望这对你有帮助!