Windows Form 和 UserControl

欧莱雅曼丽

欧莱雅曼丽

2016-01-29 13:11

Windows Form 和 UserControl,Windows Form 和 UserControl
其实,一开始就是很简单的事情,但后来花了我3个多小时才解决。
在项目中使用了几个UserControl,一开始这些控件还是工作的很好,但开始在UserControl中添加了一些代码以后,原先在设计器窗体中的控件,忽然变得不能选中,并且不能查看属性起来。但是,在运行的时刻,这些控件的功能又是很正常的。这让我很困惑,后来发现Visual Studio 2003 IDE在显示设计状态的WinForm时提示:未将对象引用设置到一个对象实例。
搞了半天,才明白这句提示其实是发生了NullReference异常,其实还是直接提示这个异常比较容易理解。
在MSDN中没有详细描述,IDE设计器的工作情况,其实,IDE在显示UserControl时,会触发控件的一些事件方法,具体有几个事件、以什么顺序触发还不是很清楚,但有两个事件肯定触发了,Load和Layout,而发生问题的控件都重写过这些事件,并有一些数据库操作,这些操作引用了其他的库,这些库在设计时刻是不可用的。
解决的办法也很简单,在Load和Layout事件处理中隔离出那些设计时刻不可用的代码,用:
if ( ! this.DesignMode )
{
// 运行时刻的事件处理。。。
}
展开更多 50%)
分享

猜你喜欢

Windows Form 和 UserControl

电脑网络
Windows Form 和 UserControl

在IE中托管Windows Form

编程语言 网络编程
在IE中托管Windows Form

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP中使用Form和QueryString集合

ASP
ASP中使用Form和QueryString集合

小知识,如Form淡出、捕捉Form最小化

编程语言 网络编程
小知识,如Form淡出、捕捉Form最小化

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

DHTML form validation

Web开发
DHTML form validation

Asp Object 之:Form

ASP
Asp Object 之:Form

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

HTML 初学者指南(五)

HTML 初学者指南(五)

Flash MX2004入门与进阶实例——综合实例(7)

Flash MX2004入门与进阶实例——综合实例(7)
下拉加载更多内容 ↓