xna - Microsoft 错误 "WinForms Series 1: Graphics Device"

标签 xna c# winforms

我对 this sample 有疑问.我刚刚下载并运行它 (Visual Studio 2010)。 我什么都没碰enter image description here

抱歉,语言是意大利语。 从上到下写着:

  • 为避免在加载设计器窗口之前丢失信息,有必要解决这些错误:
  • 无法为该文件可视化设计器窗口,因为无法设计类。设计器实用程序检查了这些类:SpinningTriangleControl --- 无法加载其基类“WinFormsGraphicsDevice.GraphicsDeviceControl”。验证是否存在对程序集的引用以及是否已生成所有项目。
  • 下面也是一样的

注意:

  • 如果我编译并运行,它就可以工作。
  • 在ide的工具栏中,有时(我什么时候没看懂),会出现用示例创建的两个控件,SpinningTriangleControl和SpriteFont;有时他们会消失。发生这种情况时,控件也会从项目的 MainWindow 窗体中删除!
  • 我不知道它是否重要,但我注意到当我添加一些新的控件时,该控件经常消失并从 xxx.designer.cs 中删除控件,例如 toolstripmenu 等,或者我为某些控件添加一些新的事件处理程序。

我真的不明白发生了什么。

由 JT 编辑: 重现在这里:sdrv.ms/1kIhI5o

重现步骤:

打开解决方案
选择 flowLayoutPanel1 控件
运行应用
停止应用
现在尝试选择 gameWrapper!

结果:
无法再选择 gameWrapper 控件,它甚至不会出现在窗体控件的属性窗口下拉列表中!

最佳答案

我已经在几个场景中看到过这种情况。

1) 项目获得对自身的引用。

如果您在项目 A 中有一个用户控件,并且使用该设计将用户控件添加到也在项目 A 中的窗体中,Visual Studio 将添加一个 self 引用,这会搞砸设计人员。

2) 为视觉元素创建一个抽象基类。

由于无法实例化抽象类,设计者将无法创建实例以在设计器中呈现。

3) 设计模式错误

如果您正在使用 DesignMode 属性来确定 UserControls 是否应该在类似 Load() 的事件中加载数据,您需要知道如果您嵌套控件的深度超过一层,DesignMode 将会中断。您可以通过关闭 LicenseManager.UsageMode 创建您自己的 designmode 变量来解决这个问题。

关于xna - Microsoft 错误 "WinForms Series 1: Graphics Device",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484190/

相关文章:

c# - XNA Keyboard.GetState() 不返回所有按下的键

silverlight - Windows Phone 7的开发平台是什么

c# - 使用 Nuclex Framework (XNA) 渲染 3d 文本时出错

c# - 通过 UDP C# 将数据作为双 float 发送

C# Entity Framework : TransactionScope over two different databases on same server with DTC

c# - 在没有对话框的情况下以编程方式保存 MHT

c# - 重复同时播放30种音效

c# - Visual Studio 与 EXE 文件中的 DLL 加载时间不同

C#/WinForm - TreeView 节点 : Add to variable and compare

c# - 动态显示数百张图片