VS2017 Winform 设计器异常原因排查

 

 Winform 软件开发过程中,使用可视化设计器 大大提高了应用程序布局效率 ,今天遇到设计器报错,如下错误截图(1-1) ,记录一下排错过程。

       前期编写用户控件,从工具箱拖出控件时报错,截图如下(1-1)。程序实际运行过程中不存在此类错误。后来发现,是vs 2017 设计器呈现控件外观时,默认执行了自定义控件的 类构造或 Load 方法引起的 。 那为什么程序实际运行没异常? 

       于是,在抛出异常点加了 try catch ,检查控件调用方 , 如下截图(1-2) , 这时设计器异常显示如(1-3) 。 原来是从IDE 启动目录加载了控件,初使化环境并非 应用程序目录。因为用户控件依赖应用程序启动目录配置信息和一些其它DLL , 而IDE环境不存在这些配置依赖项。

   解决方式:

   1. 在用户控件初使化如 构造或 Load 中加上 Try Catch .

   2. 减少用户控件初使化过程中对外部依赖项,如可将一些外部依赖项通过传参方式注入。

   3. 详参 用户控件 DesignModen 属性,标识是否处于设计器模式。

 

图1-1

 

图1-2

 

图1-3

 

转载于:https://www.cnblogs.com/howtrace/p/11423593.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值