windows窗体编程.docx
《windows窗体编程.docx》由会员分享,可在线阅读,更多相关《windows窗体编程.docx(26页珍藏版)》请在冰豆网上搜索。
![windows窗体编程.docx](https://file1.bdocx.com/fileroot1/2023-6/20/6967013c-0c1a-45c3-abd5-7a3fe349bd6d/6967013c-0c1a-45c3-abd5-7a3fe349bd6d1.gif)
windows窗体编程
第4章Windows窗体编程技术
4.1关于windows程序
4.2windows窗体
窗体类型
(1)对话框窗体
有模对话框/无模对话框
(2)单文本文档窗体
(3)多文档窗体
窗体属性
1.布局属性
Location:
point类型,窗体左上角在桌面上的坐标。
StartPosition:
enumFormStartPosition型,表示窗体的起始位置,可取Manual、CenterScreen、WindowsDefaultBounds、WindowDefaultLocation、CenterParent等。
其中Manual表示窗体的位置又Location决定;CenterScreen表示窗体在当前显示窗口中剧中,其尺寸在窗体大小中指定;WindowsDefaultBounds表示窗体定位在window默认位置,其尺寸在窗体大小中指定(默认值);WindowDefaultLocation表示窗体定位在Window默认位置,其边界也由Windows默认决定;CenterParent表示窗体在父窗体中剧中。
DesktopLocation:
Point类型,表示窗体在window桌面上的位置坐标,以左上角坐标为准。
一般通过程序动态设置。
WindowState:
enumFormWindowState类型,指明窗体的状态,可取Maximized、Minimized
和normal等。
Size:
窗体大小属性,由Height和Width子属性组成,它们均为int类型,分别表示窗体的
宽和高。
Left/right/top/botton:
int类型,窗体的左边缘x坐标/右边缘x坐标/上边缘y坐标/下边缘y左边。
2.样式属性
ControlBox:
Bool型,用于设置菜单栏是否显示控制按钮。
HelpButton:
bool型,表示窗体是否待帮助按钮。
Icon:
Icon(图标)类型,窗体图标。
ShowIcon:
bool型,表示是否显示显示图标。
MaximizeBox:
bool型,是否显示最大化按钮。
MinimizeBox:
bool型,是否像是最小化按钮。
ShowInTaskbar:
bool型,指明是否在windows任务栏中显示窗体。
TopMost:
指明窗体是否显示为最顶层。
Menu:
MainMenu型,窗体菜单。
ParentForm:
Form型,该窗体的父窗体。
3.外观属性
backColor:
color型,窗体的背景颜色。
BackgroundImage:
Image类型,获取或设置窗体背景图。
Cursor:
鼠标形状。
Font:
窗体显示的字体,由name、size、unit、Bold、Italic、Strikeout、Underline等子属性构成,其中,name表示字体名称;size表示字体大小;unit表示字体的度量单位;Bold表示字体是否为粗体;Italic字体是否为斜体;Strikeout表示字体是否有贯穿字体的横线;Underline表
示字体是否带下划线。
ForeColor:
color型,窗体上所有控件的某人前景色。
FormBorderStyle:
enumFormBorderDtyle型,窗体边框属性,可取Sizable、Fixed3D、
FixedDialog、FixedSingle、FixedToolWindow、None和SizableToolWindoe等。
其中,None:
无边框;FixedSingle:
固定的单行边框;Fixed3D:
固定的三维边框;FixedDialog:
固定的对话框
样式的粗边框;Sizable:
可调整大小的边框;FixedToolWindow:
不可调整大小的工具窗口边框;
SizableToolWindoe:
可调整大小的工具窗口边框。
默认为Sinable。
Text:
String类型,窗体的标题。
4•行为属性
AllowDrop:
bool型,表示窗体是否可以接受拖放到其上面的数据。
Enabled:
bool型,表示窗体是否可操作。
ImeMode:
控件的输入法编辑器(IME)模式。
Visible:
bool型,指示是否显示窗体。
autoScroll:
boolean型,true表示窗口可实现自动滚动,false则表示不允许自动滚动。
5•其他属性
Name:
String型,窗体类名称,(可直接为实例名)。
窗体事件
事件
响应函数(方法)
触发时机
Activated
Activate()
窗体被激活时触发
Click
OnClick()
单击控件(窗体)时触发
Closed
OnClosed()
关闭窗体后触发
Closing
OnClosing()
关闭窗体时触发
DoubleClick
OnDoubleClick()
双击控件(窗体)时触发
Enter
OnEnter()
进入控件时触发
FormClosed
OnFormClosed()
关闭窗体后触发
FormClosing
OnFormClosing()
关闭窗体时触发
GetFocus
OnGetFocus()
控件获得焦点时触发
LostFocus
OnLostFous()
控件失去焦点时触发
Load
OnLoad()
第一次显示窗体前(装载时)触发
MouseClick
OnMouseClick()
按下鼠标左键时触发
MouseDoubleClick
OnMouseDoubleClick
双击鼠标时触发
MouseDown
OnMouseDown()
鼠标按下时触发
MouseEnter
OnMouseENter()
鼠标指针进入控件上面时触发
MouseMove
OnMouseMove()
鼠标在控件上移动时触发
MouesUp
OnMouesUp()
鼠标左键释放时触发
点击鼠标右键时触发
窗体常用方法
Close():
关闭窗体
Focus():
为控件设置焦点,即使控件获得焦点。
Hide():
隐藏窗体。
Refresh():
刷新窗体。
Show():
以无模对话框方式显示窗体。
ShowDialog():
以模对话框方式显示窗体。
窗体启动时事件的触发顺序
(1)Load
(2)Activated
(3)Form其他事件
(4)窗体上其他控件事件窗体关闭时的事件触发顺序
(1)Closeing
(2)FormClosing
(3)Closed
(4)FormClosed
4.3窗体控件
控件的共用属性(基本属性)
1)name
2)text
3)size/Location
4)font
5)backcolor/foreColor
6)coursor
7)visible/Enabled
8)Anchor:
用来确定某个控件与其容器控件之间的固定关系。
包括top、Botton、Right、
left等属性。
9)Dock:
Dock属性规定了子控件与父控件的边缘依赖关系(即停靠到父控件的哪些边)其指有None、Top、Left、Fill、Right和Botton等6种。
控件的基本事件
(1)Click事件:
单击鼠标时触发。
(2)CursorChanged事件:
光标改变时触发。
(3)DoubleClick事件:
双击鼠标时触发。
(4)DragDrop事件:
拖动鼠标时触发。
(5)MouseMove事件:
移动鼠标时触发。
控件的基本方法
1)
Focus():
设置控件,使控件获得焦点。
2)
Select():
激活控件。
3)
Show():
显示控件。
常用控件
常用控件主要有:
标签控件、文本控件、按钮控件、列表框控件、组合控件、单选按钮控件、复选框控件、图片框控件、日期/时间控件、滚动条控件等。
1)标签控件(label)
Label控件可显示文本或图像,它不能接收焦点,显示的内容也不能被编辑,出了Click事件外,几乎没有其他事件。
Label控件常用属性:
AutoSize:
bool型,表明是否允许控件自动调整大小,以能完全显示内容。
FlatStyle:
enumFlatStyle型,用于设置label控件的平面样式,可取Flat、popup、Standard、System等值。
Font:
用于设置控件中文字的字体。
FontColor:
设置控件上显示的文字的颜色。
lamge:
设置label标签上显示的图片。
ImageAlign:
用于设置Label控件中显示图像堆积方式。
可取BottonCenter、BottonLeft|、BottonRight、MiddleCenter、MiddleLeft、MiddleRight、TopCenter、TopLeft、TopRight等。
ImageIndex:
显示ImageList中的图片序号。
ImageList:
Label控件显示的ImageList(图片列表)对象。
Text:
String型,控件上显示的文本指。
TextAlign:
文本对其方式。
2)文本控件(TextBox)用于输入和编辑文本。
属性
AcceptReturn:
bool型,表明TextBox对回车键的响应方式,如果为true则,执行回车换行,如果为false则表示输入结束,激活窗体默认按钮。
BorderStyle:
enum类型,用户设置边框属性,可取Fixed3D、FixedSingle、None等值,某人为Fixed3D。
CanUndo:
bool型,指示用户能否在该控件上执行撤销操作。
ChrarcterCasing:
enum型,指示该文本控件如何进行大小写格式转换,可取Normal、Lower、Upper等。
Focused:
bool型,指示该文本控件当前是否拥有输入焦点。
HideSelection:
bool型,指示当该控件获得输入焦点时,选定的文本是否突出显示。
Lines:
String型,用于设置或获取控件上的多行文本。
MaxLength:
int型,表示文本框能接收的最大文本长度(字符数)。
Modify:
bool型,指示文本框控件是否已被修改。
Mutliline:
bool类型,指示文本框控件是单行文本还是多行文版框。
PasswordChar:
Char类型,指示文本框作为密码时的显示替换符号。
ReadOnly:
bool类型,指示文本框是否是只读模式。
文本框控件常用属性
AcceptsReturn:
bool型,指明控件对回车键的相应方式,是回车换行还是激活粗窗体默认按钮。
BorderStyle:
enum型,可取Fixed3D、FixedSingle、None等值。
CanUpdo:
bool型,指示文本控件中能否撤销前一操作。
CharacterCasing:
enum型,指明文本框中的大小写转换模式,可取normal、Lower、upper等。
Focused:
bool型,指示控件单签是否拥有输入焦点。
HideSelection:
bool型,指示控件失去焦点时,选定的文本是否人突出显示。
Lines:
String型,获取或设置文本框中的多行文本。
MaxLength:
int型,用于设置文本中的最大输入字符串长度。
Modified:
bool型,指示文本框中的文本是否已被修改过。
Muliline:
bool型,指示文本框是否是多行文本框。
passwordChar:
char型,用于替换密码字符。
ReadOnly:
bool型,指示文本框是否是只读。
ScrollBars:
enum型,用于设置文本框的滚动条类型,可取Horizontal、Vertical、Both、None等值;
SelectedText:
string型,表示文本框中被选定的文本。
SelectionLength:
int型,表示被选定文本的长度。
SelectionStart:
int型,表示被选定文本的起始位置。
Text:
String型,文本框上的文本。
TeexAlign:
enum型,文本框对齐方式,可取Center、Left、Right等值。
TextLength:
int型,文本框中当前文本的长度。
WordWrap:
bool型,指示多行文本是否会自动换行。
文本框控件常用的事件
EntergetFocus
Leave
LostFocus
TextChanged
文本框控件常用的方法
AppeandText:
向text追加文本。
Clear:
Copy:
Cut:
Focus:
Paste
SleectAll
Undo
3)按钮控件按钮控件的常用属性
Text
FlatStyle
Enabled
Image
ImageAlign
按钮控件只有Click事件。
4)分组框控件(GroupBox)分组框组要用于创建控件分组,是巨额面布局更直观。
传给你用的属性有Text和Visible。
它也拥有事件和方法,但很少使用。
5.)面板控件(Panel)
面板控件与分组控件的作用一样,它可作为一个容器用于防止其他控件。
在边框设置上,风格比分组框控件丰富。
面板控件没有Text属性,它常用的属性有:
borderStyle:
enum型,用于设置面板边框样式,可取none、FixedSingle、Fixed3D等值。
AutoScroll:
bool型,用于设置是否显示滚动条。
面板控件的事件和方法也很少使用。
6)单选按钮控件同一组里只能选其中一个。
Appearance:
emun型,设置按钮外观。
Button表示为按钮型,normal表示普通单选框。
CheckAlign:
用于设置复选框在控件中的对齐方式。
Checked:
bool型,表示按钮是否已经被选中。
TextAlign:
复选框上的文本对齐方式。
单选按钮控件一般只有Click事件。
7)复选框控件复选框也叫多玄狂按钮。
表示可以同时选择多个按钮。
常用属性:
Appearance:
emun型,设置按钮外观。
Button表示为按钮型,normal表示普通复选框。
CheckAlign:
用于设置复选框在控件中的对齐方式。
Checked:
bool型,表示按钮是否已经被选中。
TextAlign:
复选框上的文本对齐方式。
单选按钮控件一般只有Click事件。
8)图片框控件(pictureBox)
常用属性:
BorderStyle:
emun型,none表示无边框;FixedSingle表示单线边框;Fixed3D表示立体边框。
BackgroundImage:
Image:
控件上显示的图片,可在程序运行时用Image.FromFile函数加载。
SizeMode:
emun型,表示图片大小的显示模式。
Normal表示图像被置于空间左上角,如果图片比图片控件大,则图像将被剪切;AutoSize:
自动调整图片框大小,使其等于所包含的图像大小;CenterImage表示如果图片框比图片大,则剧中显示,如果图片比图片框大则剪切边沿;StretchIamge表示将图片框中的图像拉伸或收缩,以适合图片框的大小;zoom表示图像大小按其原有的大小比例缩放。
图片框控件的事件。
ClickDoubleClicMouseDownMouseEnterMouseHover:
鼠标指针停留在图片上时触发MouseLeaveMouseUpMouseWheel:
移动鼠标滑轮且图片框有焦点时触发Move:
移动图片框时触发。
9)组合框控件(ComboBox)
(1)常用属性
DropDownStyle:
emun型,DropDown表示文本部分可编辑,列表部分收缩;DropDownList,文本部分不可编辑;Sinpie,文本部分可编辑,列表部分总可见。
DropDownWidth:
DropDownHerght
Items:
组合框包含的项的集合
SeiectedItem:
int型,已选择的项的索引。
SeiectedText:
String型,已选择项的文本。
Sorted:
booi型,表示组合框中的项是否排序。
(2)常用事件和方法
Ciick:
TextChanged:
SeiectedIndexChanged:
KeyPress:
按下键盘时触发.
(3)Items的属性
Count:
组合框的项数
(4)Items的方法
Add():
AddRange():
Ciear():
Contains():
确定指定项是否在控件控件的Item集合中。
Equals():
判断是否等于当前对象。
GetType():
获取当前实例的Type。
Insert():
indexOf():
Remove():
删除指定项(按项的值);
RemoveAt():
按索引号删除指定的项。
10)列表框控件(ListBox)
(1)常用属性
MilitiColumn:
bool型,表示是否支持多列。
Selectedlndex:
所选项的索引
Selectedlndices:
所选项索引集合
Selectedltem:
说去或设置列表框中当前所选项
Selectedltems:
所选项集合。
Items:
列表框中的项的集合,其属性与方法同组合框。
SelectionMode:
emun型,选择模式,one表示只能选一个,none表示不能选;MultiSimple表示可多选,MultiExended表示可多选,并配合shift和ctrl键使用。
Text:
当前选项文本。
(2)主要事件
Click
SelectedChanged
KeyPress
11)带复选框的列表控件(CheckedListBox)
CheckedListBox继承自ListBox控件,故它具有ListBox控件的属性和方法。
(1)常用属性
CheckedClick:
bool型,表示单击时选中还是改变焦点。
Checkedlndices:
Checkedltems:
MultiColumn:
ColumnWidth:
指出各列的宽度。
ThreeCheckBox:
(2)常用事件
Click
DoubleClick
(3)常用方法
GetltemCheckState(intindex):
获取index指定的列的状态,即是否选中。
GetltemChecked:
放回指定项是否被的状态,即是否被选中。
SetltemCheckState(index,CheckState):
设置指定项的状态,CheckState.Checked表示选中,CheckState.unChecked表示未选;CheckState.lndeterminate表示不确定。
SetltemChecked(index,booleanValue):
将指定索引项的状态设为选中。
即制定索引项的状态设为checkState.Checked.
12)定时器控件(Timer)
(1)常用属性
Enabled:
bool型,表示定时器是否启用。
lnterval:
int型,指明定时的时间间隔,范围在0~65535ms之间。
(2)常用事件
Tick:
定时到点时触发。
(3)常用方法
Start():
启动定时器,开始计时。
Stop():
定制计时。
13)滚动条控件
滚动条分水平滚动条(HScrollBox)和垂直滚动条(VScrollBox)。
(1)滚动条的属性
Maximunm:
滚动条的最大值。
Minimum:
Value:
目前滚动条输在位置对应的值
LargeChange:
最大变动值
SmallChange:
(2)常用事件
Scroll:
Change:
当Value属性改变时。
14)月历控件(MonthCalendar)
(1)常用属性
MonthlBoldedDate:
DateTime数组类型,用于设置要用粗体显示一个月中的日期。
BolderDate:
DateTime数组类型,用于设置要用粗体显示的日期。
MinDate:
用于获取或设置可选择的最小月历日期。
MaxDate:
用于获取或设置可选择的最大月历日期。
SelectionRange:
获取或设置在月历中选择日期的范围。
SelectionStart:
获取或设置所选日期范围的开始日期。
ShowWeekNumbers:
获取或设置是否在月历的左右方列出某个星期是本年的第几个星
期。
ShowToday:
获取或设置是否在月历的底部显示“今天”的日期。
ShowTodayCircle:
获取或设置是否在当天的日期上加一个圆圈。
Today:
获取或设置当前的日期值。
(2)月历控件的事件
DateChanged:
当前日期改变时触发。
DateSelected:
当日期被选择时触发。
15)日期/时间控件(DateTimePicker)
(1)DateTimePicker控件的常用属性
Format:
设置显示日期的格式,可选择如下值:
Custom:
DateTimePicker:
以自定义格式显示日期/时间值;
Long:
DateTimePicker:
以用户操作系统设置的长日期格式显示日期/事件值
Short:
DateTimePicker:
以用户操作系统设置的短日期格式显示日期/事件值
Time:
DateTimePicker:
以用户操作系统设置的时间格式显示日期/事件值
CustomFormat:
用于自定义格式的字符串,当设置Format属性为Custom时,使用此格式。
MaxDate:
获取或设置可选择的最大日期
MinDate:
获取或设置可选择的最小日期
ShowCheckBox:
获取或设置一个值,该值指示在选择日期的左则是否显示一个复选框。
ShowUpDown:
获取或设置一个值,该值指示是否使用数值调整日期/时间。
Value:
用于获取或设置当前日期。
(2)DateTimePicker控件的常用事件
ValueChanged:
当选择的日期改变时触发。
16)超链接标签控件(linkLabel)
(1)linkLabel控件的常用属性
ActiveLinkColor:
获取或设置超链接部分的颜色。