Windows应用程序开发入门到精通Windows应用程序界面美化-20041216.ppt
User Interface Beauty Tips for Windows Forms Application (Visual C# .NET),课程介绍,这次Webcast将介绍如何美化基于Windows窗体的图形用户接口(GUI),基础内容,已经了解什么是基于Windows窗体的GUI VS.NET使用 了解C#或VB.NET Level 200,课程内容,用户体验 性能增强 美化UI 应用程序流的控制 Windows应用程序的“look and feel”,用户体验,较长时间的运算:使用进度条(progress bar) 不要阻塞界面(UI)线程;使用多线程进行长时间的运算 状态栏(status bar) 操作开始之后,用户应当能够通过界面操作取消或终止较长时间的运算 增强用户体验:是的用户可以通过界面来控制程序的运行 在适当的时候提供必要的程序开关 验证用户的输入,使用validation control 使用界面友好的MessageBox,注意要在提示对话框中使用适当的按钮和图标,进度条(progress bar),对于时间较长的操作,要给用户提示当前完成的进度 对于较长时间的操作,不要阻塞主线程,也就是UI线程 可以使用ThreadPool.QueueUserWorkItem()来进行异步调用 给用户提供 取消/停止 的功能 禁用一些菜单,通过可视化的方式提示用户在运行某些程序的时候某些功能是被禁用的 当程序结束后,重新启用一些被禁止的菜单和控件,并通过适当的方式提示用户操作已完成 从其它线程中更新用户界面中的控件,需要使用BeginInvoke和delegate,状态栏,StatusBar经常被放置在窗体的下面,建议使用dock 我们可以在状态栏中提供多个面板(pane)来提供不同的信息 通常都会有一个面板来提示程序运行的信息,和一些其它的面板,例如显示进度,时间等 在长时间的后台程序开始之前,在状态栏中设置开始的状态信息 在后台程序结束之后,清除状态信息或将状态信息设置为停止状态 并在后台程序运行期间通过状态栏来显示必要的错误信息,演示一,进度栏(ProgressBar)和状态栏(StatusBar),使用等待指针,如果有些操作必须是阻塞的,而且很难计算出这些操作的进度,这时需要使用等待指针(wait cursor) 通过可视化的方式通知用户有一些程序正在执行过程中,可能需要等待一定的时间 使用tryfinally并在finally中将鼠标的指针重新设置为默认状态,演示二,设置鼠标的等待指针,禁用适当的控件,通过设置Enabled属性来控制控件是否可用,通过提示可视化的方式提示用户应用程序的执行状态 禁用适当的菜单 在长时间的程序开始之前,禁用对话框上的按钮 在程序结束之后,启用一些控件,提示用户可以进行下一步操作,示用户更容易理解应用程序执行的逻辑 使用禁用的空间,通过UI来帮助用户理解应用程序的工作流程,演示三,禁用(disable)/启用(enable)控件,使用适当的控件,使用TreeView控件来显示有层次的数据 使用ListView来显示一组具有多个列的数据 使用DataGrid控件可以让用户改变每一个单元格中的数据 使用TabControl可以将窗体中的控件按照使用逻辑进行分类,Splitters Docking与Anchoring,用Splitter控件来分离用户区域 使用Dock属性的Fill选项使控件能够填充屏幕的一部分 设置Anchor可以在窗口大小变化时,保证窗体中的控件与窗体的相对位置不发生变化,演示四,Controls,Common Dialog Controls,通过使用Common Dialog可以让用户通过熟悉的界面来实行标准的操作 ColorDialog FontDialog OpenFileDialog PageSetupDialog PrintDialog PrintPreviewDialog SaveFileDialog,演示五,Common Dialog,更多的Control,ImageList控件用于控制控件中使用的图像 ListView TrewView ToolBar CheckedListBox DateTimePicker,演示六,更多的控件,数组的性能,数组使用ListBox.Items.AddRange()可以增强性能 使用Array.Sort对数组中的数据项进行排序 实现IComparer接口来自定义排序的方法,演示七,数组,使用向导,使用向导会给用户带来标准的“Look and fell” 使用向导能够让用户很容易就知道应该如何使用应用程序 那么,我们需要将用户的操作过程按照逻辑划分为若干步骤 参考资源 C:Program FilesMicrosoft Visual Studio .NET 2003Common7IDEMicrosoft.VisualStudio.WizardFramework.Dll,演示八,制作向导,