谈基于.Net平台开发中的模式窗体(1)

发表于:2007-06-11来源:作者:点击数: 标签:
适用于: Windows 操作系统 .NET Framework 1.x,2.0运行时环境 .NET Windows 开发 Visual Studio 2005 概述 何谓模式窗体?简单的可以理解为窗体对话框,用户必须在完成该窗体上的操作或关闭窗体后才能返回打开此窗体的窗体。本文不对模式窗体的定义、特征

适用于:Windows 操作系统

.NET Framework 1.x,2.0运行时环境

.NET Windows开发Visual Studio 2005

概述

何谓模式窗体?简单的可以理解为窗体对话框,用户必须在完成该窗体上的操作或关闭窗体后才能返回打开此窗体的窗体。本文不对模式窗体的定义、特征、功能做具体讨论,主要把重点放在如何在.net窗体应用程序中有效的使用模式窗体,解决使用模式窗体中碰到的常见问题。

模式窗体的属性设置

在.net中一个System.Windows.Forms.Form类就表示一个窗体,通过visual studio 2005设计器能够直接添加窗体,切换到设计模式,在属性窗口中会显示属于该窗体的属性和事件。参照标准的模式窗体,以visual studio 2005程序的菜单工具->选项打开的那个选项对话框为例,对于设计器初始化的窗体还是需要进行一番设置才能达到专业化。令人高兴的是这些设置都可以在设计器模式中通过属性设置实现,笔者将通过代码来实现相应功能,下面对其进行详细描述。

Form.StartPosition属性,确定窗体第一次出现时的位置。这里设置为在父窗体的中间显示。

this.StartPosition = FormStartPosition.CenterParent;

Form.HelpButton属性,确定窗体的标题栏上是否有“帮助”按钮。设置显示,看上去更人性化,但实际不一定会对帮助功能进行实现。

this.HelpButton = true; 


Form.MaximizeBox属性,确定窗体标题栏的右上角是否有最大化框。设置不让她显示。

this.MaximizeBox = false;



Form.MinimizeBox属性,确定窗体标题栏的右上角是否有最小化框。设置不让他显示。

this.MinimizeBox = false;

Form.ShowIcon属性,指示是否在窗体的标题栏中显示图标。设置不显示。

this.ShowIcon = false;

Form.ShowInTaskbar属性,确定窗体是否出现在Windows任务栏中。这个当然要节省任务栏的宝贵空间。

this.ShowInTaskbar = false;



Form.FormBorderStyle属性,指示窗体的边框和标题栏的外观和行为。设置这个属性将不允许拖动调整窗体的大小,同时Icon属性将失效,并不显示窗体标题栏图片。

this.FormBorderStyle = FormBorderStyle.FixedDialog;



Form.ControlBox属性,确定窗体是否有“控件/系统”菜单框。通过该设置可以隐藏标题栏的控制按钮。在有些时候还是有必要设置为False,标题栏就不会再有控制按钮。

this.ControlBox = false;

通过对以上属性的设置,基本实现模式窗体的静态功能。对于是否允许调整窗体的大小可根据实际情况而定。



模式窗体中的按钮

模式窗体中(比如visual studio 2005中的“选项”对话框)一般会有两个基本按钮,一个[确定]按钮用来提交,另一个[取消]按钮用来撤销提交,有时候会增加一个[应用]按钮,不过像“帮助”菜单中的“关于”模式窗体可能就只有一个[确定]按钮。Windows窗体为用户操作友好性提供了比较好的支持。我们可以在Form设计界面的属性设置中找到Aclearcase/" target="_blank" >cceptButton和CancelButton两个属性,默认值为空即显示(无)。在属性中可以通过选择窗体上的按钮来设置值。属性修改生成的代码如下。

先定义两个Button,

private System.Windows.Forms.Button buttonOK;

private System.Windows.Forms.Button buttonCancel;

窗体的“接受”按钮。如果设置了此按钮,则用户每次按“Enter”键都相当于“单击”了该按钮。

this.AcceptButton = this.buttonOK;

窗体的“取消”按钮。如果设置了此按钮,则用户每次按“Esc”键都相当于“单击”了该按钮。

this.CancelButton = this.buttonCancel;

可见可以通过快捷键来方便的访问特定按钮,但这个有一些例外,比如窗体焦点刚好在buttonCancel上,当按{Enter}时实际按下的键会是buttonCancel而不是buttonOK,如果焦点停在第三个按钮上,那{Enter}按下相当于点击了该按钮。另一个细节是通过鼠标点击按钮和快捷键操作按钮的表现行为不一样,快捷键操作Button不会显示按钮被按下的显示效果,看上去什么都没有发生。


共6页: 1 [2] [3] [4] [5] [6] 下一页

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)