将Windows窗体用户控件拖动到窗体时出现错误“无法创建组件'ControlName'”

Sta*_*ace 5 winforms

我的项目中有一个Windows窗体用户控件。它一直在没有任何问题的形式上工作,但突然我不能在其他任何形式上使用它。如果我尝试将其从工具箱中拖动到新窗体,则会收到此错误消息

“无法创建控件'controlName'。错误消息如下:system.ArgumentException:在配置中找不到指定的命名连接,不打算与EntityClient提供程序一起使用或无效。”

但是当我运行该项目时,它编译时没有任何错误。

另外,当我想打开已经包含此Usercontrol且运行良好的表单的设计器时,设计器无法加载,并且我在下面看到错误消息

“为了防止在加载设计器之前可能丢失数据,必须解决以下错误:

在配置中找不到指定的命名连接,或者不打算与EntityClient提供程序一起使用,或者无效。

变量'MyControlName1'未声明或从未分配。”

我不了解发生了什么,但该项目仍在构建和运行,但是肯定有严重错误。

RMu*_*esi 8

使用以下内容包装您的用户控件加载方法:

private void myUserControl_Load(object sender, EventArgs e)
{
    if (!this.DesignMode)
    {
        //....stuff
    }            
}
Run Code Online (Sandbox Code Playgroud)


Web*_*euw 5

看起来您的控件正在尝试在设计时与数据库建立连接,但找不到该数据库(可能是因为设计器试图在 Visual Studio bin 目录中查找)。

最好的办法不是在设计时将数据库连接到用户控件,而是在运行时动态链接它。