【问题标题】:Error "Failed to create component 'ControlName' " when dragging a windows forms user control to a form将 Windows 窗体用户控件拖动到窗体时出现错误“无法创建组件 'ControlName'”
【发布时间】:2016-08-25 08:19:06
【问题描述】:

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

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

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

另外,当我想打开已经包含这个用户控件并且运行良好的表单设计器时,设计器没有加载,我在下面看到错误消息

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

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

变量 'MyControlName1' 要么未声明,要么从未赋值。"

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

【问题讨论】:

    标签: winforms


    【解决方案1】:

    将您的用户控件加载方法包装为:

    private void myUserControl_Load(object sender, EventArgs e)
    {
        if (!this.DesignMode)
        {
            //....stuff
        }            
    }
    

    【讨论】:

    • 这个答案解决了我很多问题。谢谢
    【解决方案2】:

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

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

    【讨论】:

    • 在运行时动态链接到数据库解决了这个问题。谢谢
    • 你能举个例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 2013-03-09
    相关资源
    最近更新 更多