GLControl 未显示在工具箱中

问题描述 投票:0回答:2

对于学校的计算机图形学课程,我被分配在我的项目中使用 GLControl。我已经下载并安装了 OpenTK 和 OpenTK.GLControl。这两个引用都出现在解决方案资源管理器的我的项目引用选项卡中。我一直在尝试找出如何将 GLControl 添加到我的工具箱中。

我尝试过的事情。

  1. 我已经完成了工具 - >选择工具箱工具 - >(选择GLControl)但没有选择添加到工具箱
  2. 我尝试将工具的引用拖动到工具栏,就像网上有人建议的那样。
  3. 我已经卸载了 nuget 软件包并重新安装了它们。
  4. 哭了好几个小时,希望它能起作用。

如果我可以做些什么来完成这项工作,因为没有这种控制我就无法到达任何地方。

c# opentk
2个回答
0
投票

作为大量使用 OpenTK 的 GLControl (SGDK2) 的 IDE 的作者,我可以告诉你,我从未将 GLControl 放入工具箱中,而且我认为我也不想这样做。这并不完全是您想要在设计时处理的控件类型。相反,我只是在表单中添加了一个虚拟控件(面板),然后进入设计器代码文件(例如 Form1.Designer.cs),并将每次出现的

System.Windows.Forms.Panel
替换为
OpenTK.GLControl
。我对控件所做的几乎所有操作都是在代码中,因此设计器集成无论如何都不是那么重要。

  /// <summary>
  /// Required method for Designer support - do not modify
  /// the contents of this method with the code editor.
  /// </summary>
  private void InitializeComponent()
  {
     this.panel1 = new OpenTK.GLControl();
     this.SuspendLayout();
     // 
     // panel1
     // 
     this.panel1.Location = new System.Drawing.Point(32, 37);
     this.panel1.Name = "panel1";
     this.panel1.Size = new System.Drawing.Size(223, 175);
     this.panel1.TabIndex = 0;
     // 
     // Form1
     // 
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     this.ClientSize = new System.Drawing.Size(284, 261);
     this.Controls.Add(this.panel1);
     this.Name = "Form1";
     this.Text = "Form1";
     this.ResumeLayout(false);

  }

  #endregion

  private OpenTK.GLControl panel1;

编辑:

也就是说,我只是尝试右键单击工具箱的常规部分,选择“选择项目...”并浏览到 OpenTK.GLControl.dll 的位置。这将 GLControl 添加到我的工具箱中的常规类别中。所以我不确定为什么你会遇到困难。但希望将其强制到如上所示的表单上,无论如何都可以将其放入您的项目中,或者为您提供更好的错误或解释为什么它不适用于您的项目。


0
投票

首先编译您的项目。

VS 的设计者不会与未经验证先运行的方法和东西竞争。

[编辑:] 我收到一条通知,说我的答案不够清楚。不确定“先编译你的项目”中不清楚的地方。 生成解决方案后,Visual Studio 的设计器组件会更新。这是必要的,以便设计器的反应与表单和组件在运行时显示和反应时完全相同。仅此而已。

© www.soinside.com 2019 - 2024. All rights reserved.