将GLcontrol添加到Visual Studio工具箱

3

也许这个问题很简单,但我正在使用OpenTK和WinForms,问题是我在工具箱中找不到GLcontrol,所以我在Form1.Designer.cs中手动添加了它,以下是代码:

#region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        glcontrol1 = new OpenTK.GLControl();
        this.SuspendLayout();
        // 
        // glControl1
        // 

        // 
        // Form1
        // 
        this.Controls.Add(glcontrol1);
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(584, 561);     
        this.Name = "Form1";
        this.Text = "Form1";
        this.Load += new System.EventHandler(this.Form1_Load);
        this.ResumeLayout(false);

    }

    #endregion
    OpenTK.GLControl glcontrol1;

问题出在我打开 Form1 的设计模式时,它会显示以下消息:

"无法从程序集中加载类型 OpenTK.ToolkitOptions..."

"变量 glcontrol1 未声明或未赋值"

我希望知道如何将 GLcontrol 添加到工具箱中,有人知道吗?请注意,不要删除任何 HTML 标签。


这是调用堆栈,如果需要的话: 在OpenTK.GLControl中,使用(GraphicsMode mode, Int32 major, Int32 minor, GraphicsContextFlags flags)构造函数 在OpenTK.GLControl中,使用默认构造函数构造对象 - niceman
1个回答

3
请仔细检查项目引用,您需要同时引用OpenTK.dllOpenTK.GLControl.dll
在文档中"构建基于Windows.Forms + GLControl的应用程序"中介绍了如何将GLControl添加到WinForms工具箱中。

首先,在其中放置GLControl的窗体上创建一个表单。右键单击工具箱的某个空白处,选择“选择元素...”,然后浏览OpenTK.GLControl.dll。确保您可以在“.NET Framework组件”中找到“GLControl”,如下图所示。

Adding GLControl to the Toolbox

然后您可以像添加任何 .NET 控件一样将 GLControl 添加到窗体中。一个名为 glControl1 的 GLControl 将被添加到您的窗体中。

谢谢,现在我有另一个问题,当我将GLcontrol拖到表单中时,出现相同的消息: 无法从程序集中加载OpenTK.ToolkitOptions类型,在OpenTK.GLControl..ctor(GraphicsMode mode, Int32 major, Int32 minor, GraphicsContextFlags flags)处,在OpenTK.GLControl..ctor()处。 - niceman
有人告诉我可能是我的 OpenTK 出了问题,所以我安装了它,但是仍然出现了同样的问题!奇怪的是,我在另一台电脑上打开了我的项目,它可以正常工作,也许是我的 Windows 出了问题,尽管它曾经可以工作,我使用的是 Windows 8.1 x64,而另一台电脑使用的是 Windows 7 x86,我想。 - niceman
可能是因为您有多个OpenTK版本存在,导致Visual Studio混淆了。请导航至OpenTK/Binaries/OpenTK/Release并运行“Examples.exe”。这些示例是否有效?如果有效,(a)将OpenTK.dll和OpenTK.GLControl.dll直接复制粘贴到您的项目中,(b)从您的项目中删除现有的OpenTK引用,(c)将刚刚复制的dll添加为项目引用。 - The Fiddler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接