课程名:Windows应用程序开发入门到精通五:Windows应用程序界面美化

 

1,  当要进行长时间的计算工作时,不应该在用户界面(UI)主线程中进行从而阻塞主主线程,而应该开一个新的线程来进行。

 

2,  可以使用ThreadPool.QueueUserWorkItem()来进行异步调用。

 

3,  从其他线程中更新用户界面中的控件时,需要使用BeginInvokedelegate来进行。

 

WebCast听课录(8)    private delegate void UpdateProgressDelegate(Single PercentDone);
WebCast听课录(8)        
protected void UpdateProgress(Single PercentDone)

4,  若有些操作必须是阻塞的,而且很难计算出这些操作的进度,就需要使用等待指针(WaitCursor)。使用try….catch…finally并在finally中将鼠标的指针重新设置为默认状态。 对于时间较长的操作,要给用户提示当前完成的进度。

 

WebCast听课录(8)    try

5,  使用ListBox.Items.AddRange()可以增强性能,比使用Items.Add()方法要提高大约5倍左右。

 

6,  可以使用IComparer接口来自定义排序的方法。

 

WebCast听课录(8)        private object[]GetRandomIntArray(int n)

7,  VS安装文件夹下带了一个WizardFramework.dll,可以用于创建标准的”look and feel”向导程序。

8,  自定义绘制状态条:

WebCast听课录(8)    private void sbStatus_DrawItem(object sender, System.Windows.Forms.StatusBarDrawItemEventArgs sbdevent)

相关文章: