DRa*_*app 18 c# namespaces designer subclass
我有一个问题(显然问题:)
我有一个项目 - MyProject ...因此项目的其余部分使用任何类的默认值作为命名空间"MyProject"......没问题.
在我的项目中,我创建了一个自定义用户控件,其上有许多其他控件(标签,文本框等).因此,该类也在"MyProject"的默认命名空间内.所有编译都没有问题.为了确认范围可见性,在这个用户控件上,我确保DESIGNER代码和Code-Behind(我的代码)在同一个"MyProject"命名空间(它们是)中同时存在,并且它们分别是PUBLIC PARTIAL CLASS MyUserControl .
现在问题.我创建了一个简单的表单(默认情况下也在名称空间"MyProject"中).从工具箱中,"MyUserControl"存在,因此我将其拖到MyNewForm上.拖放很好.
保存所有,编译,失败...... Designer正在添加一个额外的"MyProject"引用,从而使用户控件实际上位于MyProject.MyProject.MyUserControl ..而不是MyProject.MyUserControl.
一旦我手动删除额外的"MyProject.",保存并编译,一切都很好.但是,如果我重新编辑表单,更改某些内容,M $会将其更改回原始的"MyProject.MyUserControl"引用.
所有这一切,这里是我的项目的片段......
namespace MyProject
{
partial class MyNewForm
{
...
private void InitializeComponent()
{
// THIS is the line that has the extra "MyProject." reference
// when I manually remove it, all works perfectly
this.MyUserControl1 = new MyProject.MyUserControl();
}
}
private MyUserControl MyUserControl1;
}
Run Code Online (Sandbox Code Playgroud)
然后,在MyUserControl定义中,我有......
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
Run Code Online (Sandbox Code Playgroud)
并通过设计师从MyUserControl ...
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助...
man*_*nji 17
设计师正在做的事情还可以.
- >你的项目中有一个名为的命名空间MyProject.MyProject.
(尝试在"课堂视图"中找到它)
小智 13
PS.任何有相同问题但没有找到任何解决方案的人......
假设您已经创建了一个新的WindowsFormApplication;
- 错误:类型名称'userControlName'在'projectName.FormName'类型中不存在
我对网络进行了任何解决方案的研究,但无法提出任何答案......
但是,如果您更改与项目名称不同的任何其他表单名称,它将被解决.
如果您坚持根据项目需要,表单名称和项目名称必须相同,则可以创建自定义DLL并在其中使用usercontrol.
然后使用"选择项目..."将DLL文件添加到"ToolBox"中作为控件使用
最后它将准备好使用.
PS2.几个小时都在努力解决同样的问题,这是我找到的解决方案.
| 归档时间: |
|
| 查看次数: |
24516 次 |
| 最近记录: |