窗体属性.docx
《窗体属性.docx》由会员分享,可在线阅读,更多相关《窗体属性.docx(10页珍藏版)》请在冰点文库上搜索。
![窗体属性.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/2d8e7a9c-b62e-4588-9f9b-a45da2b2019e/2d8e7a9c-b62e-4588-9f9b-a45da2b2019e1.gif)
窗体属性
本情况进行管理,又要对读者以及读者借(还)书等信息进行管理,这时仅使用一个窗体是不合理的。
当需要多个窗体时,可以通过【项目】→【添加Windows窗体】菜单命令来为应用程序添加一个新的窗体,如图5-1所示。
图5-1 添加窗体
然后在【名称】后面的文本框中输入新窗体的名称(如frmMain.cs),再单击【添加】按钮,新的窗体即生成了,同时可以看到窗体设计器上方多出了表示一个新生成的窗体的选项卡。
5.2.2 Form常用的属性、方法与事件
在Visual C# 2008中,一切都是对象,窗体当然也不例外,下面就介绍窗体的一些常用的属性、方法和事件。
说明:
为了方便介绍Form的常用属性、方法和事件,假定有一个名为frmMain的窗体,在应用程序中用作主窗体。
1. MaximizeBox和MinimizeBox属性
窗体的MaximizeBox和MinimizeBox属性用于确定窗体标题栏的右上角的最大化、最小化按钮是否可用。
它们均有两个值:
True和False。
True表示最大化、最小化按钮可用,为默认值;False表示不可用。
如图
图5-2 最大化按钮不可用
可以直接在窗体对象的属性窗口中找到“MaximizeBox”属性,然后直接在其中进行设置,如图5-3所示。
图5-3 设置MaximizeBox属性
也可以在程序运行时,使用代码来设置窗体的MaximizeBox属性,其结果与在属性窗口中直接设置一致。
例如:
//************************************************************************* this.MaximizeBox = false;
//*************************************************************************
2. Size属性
窗体的Size 属性又分成Width和Height两个属性(分别表示窗体的宽度和高度),用于设置窗体的大小,以像索为单位。
一般情况下可以通过鼠标的拖拽来控制窗体的大小,但如果要精确控制窗体的大小,则应该使用Size属性。
如将Size属性值设为“300, 200”,则表示该窗体的宽为300像素、高为200像素。
3. StartPosition属性
窗体的StartPosition属性用于确定窗体第一次出现时的位置。
它提供了5个属性值:
默认的属性值为Manual:
表示窗体的初始位置由Location属性确定;CenterScreen:
表示窗体的初始位置为屏幕中心;WindowsDefaultLocation:
窗体定位在Windows的默认位置,其尺寸在窗体大小中指定;WindowsDefaultBounds:
窗体定位在Windows的默认位置,其边界
也由Windows默认确定;CenterParent:
窗体在其父窗体中居中。
4. AutoSizeMode属性
窗体的AutoSizeMode属性用于确定用户界面元素自动调整自身大小的模式,它有“GrowOnly”和“GrowAndShrink”两个值,“GrowOnly”为默认值,此时用户可以使用鼠标托拽来改变窗体的大小,而设为“GrowAndShrink”时,用户不可以使用鼠标托拽来改变窗体的大小。
5. Icon属性
窗体的Icon属性用于设置窗体左上角的小图标,可以直接在属性窗口中设置,设置的方法在第2章中已经介绍过。
当然也可以通过代码来设置,使用代码设置的语法为:
System.Drawing.Bitmap.FromFile(IconPath) 说明:
“IconPath”表示Icon图标的存放路径。
6. Font属性
窗体的Font属性用于设置窗体上字体的样式、字形、大小等。
若选择Font属性,单击该属性右边的 按钮,将弹出【字体】对话框如图5-4所示。
图5-4 【字体】对话框
7. Text属性
窗体的Text属性用于设置窗体标题栏显示的文本,其默认值为“Form”加上一个整数,
如“Form1”、“Form2”等。
8. Enabled属性
窗体的Enabled属性用于确定窗体是否响应用户的事件。
它有True和False两个值,其默认值为True,如果设为False,则除了可以移动该窗体的位置、调整大小、关闭或者最大化最小化外,不能操作窗体内的控件等,这些控件对用户的操作完全不予响应。
使用代码设置该属性的示例为:
//************************************************************************* frmMain.Enabled = true; // 或者frmMain.Enabled = false; //*************************************************************************
9. Visible属性
窗体的Visible属性表示窗体是否可见,它有True和False两个值,默认值为True;如果设为False,则窗体不可见。
使用代码设置该属性的示例为:
//************************************************************************* frmMain.Visible= true; // 或者frmMain.Visible= false; //*************************************************************************
10. ControlBox属性
窗体的ControlBox属性用于控制当程序运行时,窗体的标题栏中是否显示关闭、最大化和最小化按钮,是否显示系统图标和系统菜单。
它有True和False两个属性值,图5-5分别表示该属性值为True和False的情况。
图5-5 具有与不具有系统菜单的窗体
11. Show()方法和Hide()方法
窗体的Show()方法用于显示窗体,而窗体的Hide()方法用于隐藏窗体,如下面的代码分别用于显示和隐藏窗体frmMain:
//*************************************************************************
frmMain.Show();
frmMain.Hide();
//*************************************************************************
12. Load事件
窗体的Load事件即窗体载入事件,当窗体载入时触发该事件。
例如运行应用程序时,窗体frmMain显示,则触发了frmMain的Load事件。
13. Activated事件
窗体的Activated事件即激活事件,当窗体被激活时触发该事件。
例如在不同窗体之间进行切换时,变成活动窗体触发了该窗体的Activated事件。
14. Click事件
窗体的Click事件即单击事件,单击该窗体时触发该事件。
15. FormClosed事件和FormClosing事件
窗体的FormClosed和FormClosing都是窗体的关闭事件,但两者有着本质的区别,FormClosed事件在窗体关闭后的那一刻被触发,而FormClosing事件则是当窗体正要关闭的时候被触发。
5.3 Button控件
命令按钮(Button)是一种很常用的控件,主要用于接收用户的单击(Click)事件。
当用户用鼠标单击或用Enter键按下命令按钮时,都会触发Click事件,从而执行相应的代码,达到某种特定操作的目的。
命令按钮具备控件所共有的基本属性,这里不在赘述,仅介绍一下Text属性。
Text属性用于设置显示在命令按钮上的文本,可以在文本前面加上“&”字符来设置快捷键(热键)。
例如:
将按钮的Text属性设为“&OK”,该按钮的效果为:
,则“O”将被作为热
键,按下Alt+O将触发命令按钮的Click事件。
5.4 Label控件
标签控件有两种,一种是普通标签(Label),它主要用于显示不希望被用户修改的静态文本,因为Label控件不能由用户直接对其进行编辑,另一种是带链接的标签(LinkLabel),它主要用于设计链接。
本节介绍Label控件常用的属性和事件,LinkLabel将在后面介绍。
前面在介绍窗体时介绍过的如Text、Enabled、Visible和Font等属性,Label控件同样具有这些属性,且其用法也类似,这里不再重复介绍。
1. AutoSize属性
Label控件的AutoSize属性控制Label 控件是否根据显示的文本自动调整控件的大小。
它有 True 和False两个属性值,默认值为True;如果设为False,表示控件的大小不会随文本的改变而变化
注;在窗体属性BackgroundImage是导入图片
}
//************************************************************************* //************************************************************************* (3)用户界面和程序代码设计完毕后,便可运行程序,可以直接按下【F5】键,若选择列表框中的“8”,择结果如图5-8所示。
图5-8 运行结果
5.7 ComboBox控件
组合框(ComboBox)是综合了文本框和列表框特征的一种控件。
它兼有文本框和列表框的功能,可以像文本框一样,用键入的方式选择项目,但输入的内容不能自动添加到列表中;也可以在单击 后,选择所需的项目。
若选中了某列表项,则该项的内容会自动显示在文本框中。
组合框比列表框占用的屏幕空间要小,如图5-9所示。
列表框的属性基本上都可用于组合框。
图5-9 组合框控件
另外值得注意的是,ComboBox控件提供了一个名为“DropDownStyle”的属性,指定组合框的外观和功能,它有“Simple”、“DropDown”和“DropDownList”三个属性值,默认值为“DropDown”。
若要使得组合框不能用键入的方式选择项目(即组合框中的文本内容不可编辑),则应当将“DropDownStyle”属性设为“DropDownList”。
5.8 DateTimePicker控件
DateTimePicker控件包含一个带有滚动箭头的图形化日历,使用它能够很方便的在应用程序中获取日期和时间。
设计应用程序时的DateTimePicker控件如图5-10所示。
图5-10 设计时的DateTimePicker控件
在ShowUpDown属性(在后面有详细的介绍)值为False的情况下,如图5-11所示,DateTimePicker控件有两种操作模式:
(1)单击下拉式日历右边的来选择一个日期。
单击下拉日期列表中与日期相关的
和
按钮可以选择不同的月份;
(2)选中一个字段(例如:
月、日、年等等)后,使用键盘键入相应的值的方式来设置它的值。
图5-11 运行时的DateTimePicker控件
在ShowUpDown属性值为True的情况下,则DateTimePicker控件不具有下拉日期,但具有上下调节箭头,如图5-12所示。
这时的DateTimePicker控件同样有两种操作模式:
(1)选中一个字段(例如:
月、日、年等等)后,按下控件右边的上下调节箭头来设置它的值;
(2)选中一个字段(例如:
月、日、年等等)后,使用键盘键入相应的值的方式来设置它的值。
图5-12 具有上下调节箭头的DateTimePicker控件
说明:
为了方便介绍DateTimePicker控件的常用属性和方法,假定有一个名为dtpNow的DateTimePicker控件,用于显示当前的日期时间。
5.8.1 DateTimePicker控件的常用属性
DateTimePicker控件的常用属性如下:
1. Value属性
DateTimePicker控件的Value属性用于表示DateTimePicker当前的日期/时间值。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value”的值为“2008-4-22 10:
12:
28”。
2. Date属性
DateTimePicker控件的Date属性用于获取DateTimePicker当前的日期/时间值的日期部分。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Date”的值为“2008-4-22”。
3. Year属性
DateTimePicker控件的Year属性用于获取DateTimePicker当前的日期/时间值的年份部分。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Year”的值为“2008”。
4. Month属性
DateTimePicker控件的Month属性用于获取DateTimePicker当前的日期/时间值的月份部分。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Month”的值为“4”。
5. Day属性
DateTimePicker控件的Day属性表示DateTimePicker当前的日期/时间值为该月的第几天。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Day”的值为“22”。
6. Hour属性
DateTimePicker控件的Hour属性用于获取DateTimePicker当前的日期/时间值的小时部分。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Hour”的值为“10”。
7. Minute属性
DateTimePicker控件的Minute属性用于获取DateTimePicker当前的日期/时间值的分钟部分。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Minute”的值为“12”。
8. Second属性
DateTimePicker控件的Second属性用于获取DateTimePicker当前的日期/时间值的秒钟部分。
若当前日期为“2008年4月22日10点12分28秒”,则表达式“dtpNow.Value.Second”的值为“28”。