这是我的第一个 Windows 窗体项目,我对如何使用 Windows 窗体设计器工具修复错误感到有点困惑。我希望有人可以帮助我了解修复设计器错误所涉及的工作流程。
我已经在 VB.NET 中获得了一个模板应用程序来修改。我已经多次经历了类似以下工作流程:演示应用程序包含一个下拉列表选择器,我需要一个数字向上/向下条目。应该不难改吧?在 Visual Studio 中进行零培训后,我单击该对象并搜索“属性”,希望在那里进行更改。没运气。按照这个流程图,我然后右键单击下拉菜单并选择“转换”,选择一个数字向上/向下对象,然后 - 你瞧 - 一个数字向上/向下条目出现在表单上。
我切换到 Project.vb 文件来修改对象的事件处理程序,添加MessageBox.Show
调用以确保一切正常,并构建项目。
我收到两个错误:
Error 2 Type 'MyCorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown' is not defined. C:\HMI\HMI.Designer.vb 192
Error 3 Type 'Mycorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown' is not defined. C:\HMI\HMI.Designer.vb 1978
相关的源代码行读取(分别)
192: Me.tscb_PartNumberSelector = New Mycorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown()
1978: Friend WithEvents tscb_PartNumberSelector As MyCorp.ProcessControl.ControlLibrary.ToolStripNumericUpDown
显然,我使用的是自定义 ControlLibrary,它没有数字上/下工具。看起来我必须去编写那个库的人添加一个,使用系统标准 NumericUpDown,将其转换回 DropDownList 并在该列表中输入可能的数字,或者使用普通的旧文本条目。任何事情都可以保持发展!
所以,我点击了“HMI [设计]”选项卡,它在我面前抛出了一个大警告页面:
为了防止在加载设计器之前可能丢失数据,必须解决以下错误:
设计者无法处理第 191 行的代码:
Me.tscb_PartNumberSelector = New Gentex.ProcessControl.ControlLibrary.ToolStripNumericUpDown()
“InitializeComponent”方法中的代码由设计者生成,不应手动修改。请删除所有更改并尝试再次打开设计器。
此错误的实例(一)
1. HMI HMI.Designer.vb Line:191 Column:1
Show Call Stack
解决此错误的帮助 找不到与此错误相关的帮助主题。检查 Windows 窗体设计时错误列表有关此错误的论坛帖子
在 MSDN 论坛中搜索与此错误相关的帖子
幸运的是,我将 Hmi.Designer.vb 文件置于版本控制之下,并且可以在必要时还原所有内容,但是要还原的更改位于严厉警告不应修改它们的函数中。
这里的预期工作流程是什么?
- 还原对项目的所有更改,然后重试。
这使得用户在没有版本控制的情况下操作很困难(不得不重做整个项目,而不是按几次'ctrl-z'),并且它丢失了我所做的一些其他更改(大概是没有损坏)。 - 在标记为“请勿修改”的代码中还原 Designer.vb 文件中的逐行更改
这很容易出错,因为有多个位置可以更改代码 - 在 HMI.vb 中,以及 HMI.Designer.vb 中的多个位置. - 忽略并继续,并尝试使用设计器还原更改。
这似乎加剧了我遇到的问题并生成了重复的代码。
我最终选择了 1,因为我无法让其他人工作,但我希望再次遇到这个问题。我应该如何处理?