有些时候我们在让程序刚开始运行的时候完成一些初始化的工作,原来我也喜欢把这些代码写在窗体的Load事件中,但是我发现这样做很不好,因为工作量较大,或者使用远程数据库的时候会发现程序启动时会卡一下,用户体验很不好。
界面设计的原则,界面线程Don't do heav work。
后来我就把这些初始化的工作交给单独的线程执行,发现效果很好。但是后来CLR弄了个线程安全的限制,界面控件不允许跨线程更改,当然你也可以关闭这个,使用:
1
2
3
4
5
|