在Windows窗体面板中加载OpenTK GameWindow?

时间:2017-09-01 11:47:10

标签: c# winforms opentk

我使用OpenTk在C#中创建了一个应用程序。

这是在一个名为ViewPort的类中,并按如下方式初始化:

namespace OpenTK_viewport
{
    class ViewPort : GameWindow
    { 

.....

我的Program.cs是:

 [STAThread]
        static void Main()
        {

           using (ViewPort main = new ViewPort())
            {
                main.Run(60.0);
           }
        }

这很好用,并打开游戏窗口。现在,我想将此窗口嵌入到UserControl中,因此我可以将其加载到现有panel上的Form

例如,在项目中,我有:

namespace OpenTK_viewport
{
    public partial class Form3dViewport : UserControl
    {
        public Form3dViewport()
        {
            InitializeComponent();
        }

        private void Form3dViewport_Load(object sender, EventArgs e)
        {


        }
    }
}

我想在此UserControl中嵌入ViewPort类。 我无法在任何地方找到这样的例子。我怎么能这样做?

编辑: 我可以在表单而不是面板中添加GLControl。我可以将Viewport类加载到此吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

啊,我看错了。 OpenTK可以直接在Form中运行。如下图所示:

https://github.com/mono/opentk/blob/master/Source/Examples/OpenTK/GLControl/GLControlGameLoop.cs