我有一个几乎完整的 C# winform 应用程序(它很大,所以我不能从头开始重写它),我想向它添加一个 sdl.net 窗口,以便显示我的应用程序在复杂的图形方式(sdl.net 窗口必须以某种方式从我的应用程序中获得稳定的数据流,所以我不能只做另一个项目)。
问题是我该怎么做?这种事情有什么常见的做法吗?或者做类似事情的教程?
简而言之,我可以将 sdl.net 窗口添加到 C# winform 应用程序中,如果可以,那么如何添加?
您可以创建自己的 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 库的引用。
希望这可以帮助!