我有一个问题(显然是问题:)
我有一个项目——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;
}
然后,在 MyUserControl 定义中,我有...
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
并通过设计器从 MyUserControl...
namespace MyProject
{
public partial class MyUserControl : UserControl
...
}
谢谢您的帮助...