探秘用户接口的设计与开发
如果您希望让您的Windows应用程序脱胎换骨,有如获重生般的惊艳感觉,则着重在Windows应用程序必定会使用的窗体、常用的窗体控件、验证用户输入、规则表达式、窗体上的超级链接、剪贴簿的数据存取、鼠标拖放操作,以及多重窗体的操作。基本上,我们将这个主题又再细分为下列几个部分:
Windows应用程序建构在窗体之上,因此,学习使用窗体的技巧至为重要。
在某些时候,我们需要取得显示器的屏幕信息,以便精确的完成作业。欲达此目的,必须借助Screen类别。如果您想要彻底了解如何撷取屏幕的分辨率、工作区域分辨率、主要显示分辨率等信息,则不可错过此主题。
如果您的Windows应用程序不需要用户接口,而是采用背景执行的话,您可以替处理序在系统工作列的状态告知区域显示一个图标,允许在工作列的状态告知区域按一下图标来存取它。欲达此目的,在窗体上必须加入NotifyIcon组件。
学习过窗体使用的技巧之后,建立窗体上的控件当然就更加得心应手,在.Net Framework 2.0中新增了TableLayoutPanel与FlowLayoutPanel控件来协助程序设计人员进行窗体上控件的排序。
.Net Framework对ToolTip类别作了许多非常实用的强化。
用户透过窗体来输入数据并储存结果至数据库是搜集数据极为常见的作法,在储存之前,为了避免错误或不正确的数据造成后续分析处理上的谬误,通常会进行输入验证的工作。透过控件的Validating事件来验证用户输入、使用ErrorProvider控件来通知用户,甚至更进一步的自订验证类别、建立使用规则表达式的TextBox验证类别、使用MaskTextBox控件来限制数据的输入格式等都是您不可错过的。
RichTextBox控件拥有非常强大的文字格式化功能,它能协助您建立出类似Microsoft Word的文书编辑器,学习RichTextBox控件的程控技巧对您处理窗体中的文字内容将有事半功倍的效果。
窗体上除了文字之外,不可或缺的就是图片,因此,学习如何在窗体上显示图片至为重要。如果您希望存取项目中的影像资源、在窗体中以同步或者异步的方式加载因特网上的图片、在窗体上绘制线条与形状、在窗体上建立文字或图片超级链接,进而完美整合窗体上的文字与图形。
使用.Net Framework 2.0的WebBrowser控件,便能够在窗体中导览Web网页,使您真正了解WebBrowser控件的功能用途与使用方式,进一步让控件所在的窗体能够与WebBrowser控件内的网页进行双向互动。
善用窗体中常用的控件,例如:ListBox控件、ComboBox控件、ListView控件、TreeView控件、ContextMenuStrip控件、SplitContainer控件、以及DropDown 与DropDownClosed事件,将使您的应用程序更具逻辑性、更加模块化、安全性更高、执行效率也会更优异。
Windows应用程序通常会使用剪贴簿作为数据的暂存处,而此项需求通常与用户的操作脱不了关系。学会如何将数据存入剪贴簿以及如何从剪贴簿中撷取数据成为非常重要的课题。
就操作习惯而言,Windows应用程序的用户分为喜欢键盘的用户以及喜欢使用鼠标的用户两大类。程序设计员通常会提供便捷键与快速键给大量使用键盘的用户,令人遗憾的是,只有极少数的Visual C#设计师会在应用程序中加入完整的鼠标拖放功能。
由于用户可能不止一次的执行应用程序,如果要在多重位置使用相同的执行个体,就需要传送参考至该执行个体。