打开设计窗体报错:To prevent possible data loss before loading the designer
打开设计窗体报错:To prevent possible data loss before loading the designer任何使用VS开发工具的朋友都会遇到此问题, 比如窗体的Load事件内有如下代码:
C# Code: private void frmBase_Load(object sender, EventArgs e) { this.DoSetFont(SystemConfig.CurrentConfig.FontSize, true); } 从这段代码可以看出问题吗? 编译后运行程序绝对没问题! 因为SystemConfig.CurrentConfig对象在运行程序第一时间已被实例化. 但是在设计环境下会报错: To prevent possible data loss before loading the designer, the following errors must be resolved: Object reference not set to an instance of an object. 为什么呢? 简直不可思议! VS开发工具在打开设计窗体时会检查或运行构造器, Load, Shown等事件内的代码! 当这些事件使用到未被实例化的对象或变量时, 错误呈现在你眼前. Delphi,VB等开发工具根本没这种情况. 无奈, 将代码改为: C# Code:
private void frmBase_Load(object sender, EventArgs e) { if (SystemConfig.CurrentConfig!=null) this.DoSetFont(SystemConfig.CurrentConfig.FontSize, true); } 或者SystemConfig.CurrentConfig对象在声明变量时实例化. 扫一扫加作者微信
参考文档:
BUG01:打开子窗体(sender as ToolStripMenuItem)是null,取不到权限 打开VS的窗体设计器,经常出现:若要在加载设计器前避免可能生成的数据丢失,必须纠正以下错误: VS2015 打开HTML设计编辑视图(Web窗体编辑器) 使用DataBinderTools工具类绑定下拉LookupEdit组件数据源 数字签名(Data Sign)+存取令牌(Access Token)双重安全请求WebApi接口 DevExpress GridView表格CustomUnboundColumnData事件异步加载图片 C# Dev GridView表格的CustomUnboundColumnData事件异步加载图片类AsynDownImage 软件开发与设计 - MIS-管理信息系统-MVC Music Store v3.0 软件开发与设计 - MIS-管理信息系统-TopskyHotelManagerSystem酒店管理系统 1.4.2.3 软件开发与设计 - EMS-电子商城系统(destoon数据库结构设计) 升级程序DataTable.ReadXml报错:MySql.Data.Types.MySqlDateTime is not allowed here 软件开发与设计 - EMS-电子商城系统-[电子商务]BtoB电子商务包哥增强版数据库 软件开发与设计 - EMS-电子商城系统-[电子商务]ZeroStock(零库存) v1.2.0数据库 Winform窗体分隔线怎么设计 测试CSFramework.DB数据底层组件IDatabase.GetTop方法(Mssql/MySql)
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |