我有一个大部分完整的C#winform应用程序(它很大,所以我无法从头开始重写),我想为它添加一个sdl.net窗口,以便显示一些内容我的应用程序以复杂的图形方式进行(sdl.net窗口必须以某种方式从我的应用程序中获得稳定的数据流,因此我不能创建另一个项目)。
问题是我该怎么办?这种事情有什么共同的做法吗?或者是一个类似的东西的教程?
简而言之,我可以将sdl.net窗口添加到C#winform应用程序,如果是,那么如何?
答案 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库的引用。
希望这有帮助!