我的设计师视图今天开始抛出这个错误。但是,应用程序编译时没有错误,控件可用。
自定义控件在设计器中正确定义。如果我点击"忽略并继续"设计师加载很好,但提到的控件丢失了。
到目前为止,我已经尝试过:
清洁,重建然后重新启动visual studio还没有工作。
我昨天使用它后没有做任何改动,然后今天走进办公室。
我的构造函数是
public CalendarWindow(MainWindow owner)
{
InitializeComponent();
this._owner = owner;
}
public CalendarWindow(int job, int visit, DataTable customer, DataTable address)
{
InitializeComponent();
this.addressDetails = address;
this.customerDetails = customer;
this.visitID = visit;
jobID = job;
}
和designer.cs中的InitializeComponent()
内部声明了控件
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.AutoScroll = true;
this.panel1.Controls.Add(this.label5);
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.calendar4); \\designer "error" points to here
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.calendar3); \\designer "error" points to here
this.panel1.Controls.Add(this.calendar2); \\designer "error" points to here
this.panel1.Controls.Add(this.calendar1); \\designer "error" points to here
this.panel1.Controls.Add(this.label2);
this.panel1.Location = new System.Drawing.Point(218, 12);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(873, 628);
this.panel1.TabIndex = 10;
this.panel1.MouseDown += new
System.Windows.Forms.MouseEventHandler(this.calendar1_MouseDown);
答案 0 :(得分:1)
看起来我设法解决了这个问题。
虽然编译器在编译代码和运行应用程序时没有任何问题,但是它不喜欢控件本身的一些代码。
我只是设法抓住了这个,因为我试图在点击“忽略并继续”之后将相同的控件添加到表单中,此时它拒绝添加它并向我提供了导致问题的方向,这恰好发生在在一个不属于控制但被它使用的类中。
纠正错误解决了问题。
我没有明白为什么它会编译和运行没有问题,但反馈的错误没有引用有问题的工件。
答案 1 :(得分:0)
我遇到了同样的问题,并已解决。实际上,Visual Studio仅与X86控件一起使用,您不能在X64模式下创建用户控件并使用它。
您应该在Any CPU模式下添加一个新的类库并构建该库。然后可以将其DLL添加到您的项目中,并且可以正常工作。
如果没有,则必须转到配置管理器,并将“活动解决方案平台”设置为X64,对所有子项目也要这样做。 请记住,必须检查构建选项。 并转到类库的属性,然后单击生成选项卡。然后将“平台目标”设置为“任何CPU”。