C# WinForms中无法识别的用户控件
我使用的是C# WinForms中无法识别的用户控件,c#,winforms,user-controls,C#,Winforms,User Controls,我使用的是Windows窗体,语言是C。我有一个项目计算器。我向该项目添加了一个UserControl。我将控件拖到我的表单中,运行它时,我得到一个错误,即按钮中不存在 我不明白是什么问题。但是当我像这样管理这条线的时候 this.ButtonC = new ButtonC(); 这不会产生任何错误,但每次在运行之前,我都必须改变这一点,我认为这不是正确的解决方案。谢谢您的帮助。我认为问题在于您的按钮和计算器位于不同的命名空间中。将它们更改为相同的命名空间可能会解决此问题 编辑: 我想我理解
Windows窗体
,语言是C
。我有一个项目计算器
。我向该项目添加了一个UserControl
。我将控件
拖到我的表单中,运行它时,我得到一个错误,即按钮
中不存在
我不明白是什么问题。但是当我像这样管理这条线的时候
this.ButtonC = new ButtonC();
这不会产生任何错误,但每次在运行之前,我都必须改变这一点,我认为这不是正确的解决方案。谢谢您的帮助。我认为问题在于您的
按钮和计算器位于不同的命名空间中。将它们更改为相同的命名空间可能会解决此问题
编辑:
我想我理解这个问题。这应该是自动生成的设计器代码的“bug”。他们只是将名称空间放在控件之前,在您的情况下,它是“计算器”。但是在代码中,名称空间和类是相同的,因此编译器的解释是错误的:它认为Calculator.ButtonC是类Calculator中的一个子类
如果我没有错,只需使名称空间和类名不同就可以了。实际上名称空间是相同的-Calculator似乎您的设计人员将控件视为Calculator.Calculator中的一个类,但实际上它在Calculator中。只需删除前面的计算器,就像你在帖子中提到的那样,可以完成这项工作。是的,它是这样工作的,但每次运行一次之后,我都必须一次又一次地删除计算器:/I我想我理解这个问题。这应该是自动生成的设计器代码的“bug”。他们只是将名称空间放在控件之前,在您的情况下,它是“计算器”。但是在代码中,名称空间和类是相同的,因此编译器的解释是错误的:它认为Calculator.ButtonC是类Calculator中的一个子类。