我的vb.net应用程序中有以下类:
Form1中 的UserControl1 LnkLabel
Usercontrol1是一个用户控件,并不包含任何额外的代码。 LnkLabel是一个继承Forms.Label的类。它的代码如下:
Public class LnkLabel
Inherits Label
Sub clk handles me.click
Process.start(text)
End sub
End class
当我将一个LnkLabel实例添加到usercontrol1时,我收到错误"类型LnkLabel未定义" uc1.designer.vb中有三个错误实例。如何解决这些错误? 注意: Visual Studio 2010 .Net FW 3.5
编辑: usercontrol1不包含可能导致错误的任何代码。它只是添加到项目中的新用户控件。 LnkLabel由设计者添加到UC1,而不是在运行时使用代码。 班级名称是LnkLabel,而不是" LinkLabel"。
答案 0 :(得分:0)
我发现解决此类问题的最简单方法是直接打开Designer.vb文件。
要执行此操作,请从“项目”菜单中选择“显示所有文件”,然后展开“UserControl2”。双击UserControl2.Designer.vb文件。
您还应该可以通过双击编译错误列表中的错误来实现目标。
在那里,搜索UserControl1或uc1的定义,无论它可能被调用(确保您在类型定义区域,而不是属性分配区域)。
查看定义可能会给你一个关于问题的即时线索(是否在错误的命名空间中;用户控件的名称在创建之后是否更改,但更改未传播到此表单;等等)
如果问题不明显,请使用VS intellisense帮助您获得正确的课程。我通常清除以前的类型定义并开始键入我知道它应该是的名称(即UserControl),然后从Intellisense中选择适当的值。
选择不同的类(或更正类选择)将需要更改控件实例代码,并且还可能需要更改某些属性(我通常只删除我不确定的属性并直接更新控件在设计师)。
在切换回设计器之前,请确保保存更改,并在可能的情况下编译应用程序。