如何将sdl.net窗口添加到C#windows窗体应用程序?
我有一个基本完整的C#winform应用程序(它很大,所以我不能从头重写它),我想在其中添加一个sdl.net窗口,以便以复杂的图形方式显示我的应用程序的一些功能(sdl.net窗口必须以某种方式从我的应用程序中获得稳定的数据流,所以我不能再做另一个项目) 问题是我怎么做?这类事情有什么共同的做法吗?或者是一个类似的教程如何将sdl.net窗口添加到C#windows窗体应用程序?,c#,winforms,sdl.net,C#,Winforms,Sdl.net,我有一个基本完整的C#winform应用程序(它很大,所以我不能从头重写它),我想在其中添加一个sdl.net窗口,以便以复杂的图形方式显示我的应用程序的一些功能(sdl.net窗口必须以某种方式从我的应用程序中获得稳定的数据流,所以我不能再做另一个项目) 问题是我怎么做?这类事情有什么共同的做法吗?或者是一个类似的教程 简而言之,我可以将sdl.net窗口添加到C#winform应用程序中吗?如果可以,那么如何添加?您可以创建自己的sdl.net窗口类,该类将在创建时使用SdlDotNet.G
简而言之,我可以将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库的引用
希望这有帮助 记住,你必须用不同的线程运行它,是的,很自然,但我不知道怎么做。你能给我一个线索吗?