C#控件及常用设计整理

  控件是指对数据和方法的封装,可以有自己的属性、方法和事件。控件是一个特殊对象,但对象不一定是控件。控件对于.NET开发十分重要。

1、窗

1、常用属性

1Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。

2WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。

3StartPosition属性:用来获取或设置运行时窗体的起始位置。默认的起始位置WindowsDefaultLocation

4Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。

5Width属性:用来获取或设置窗体的宽度。

6Height属性:用来获取或设置窗体的高度。

7Left属性:用来获取或设置窗体的左边缘的x坐标(以像素为单位)。

8Top属性:用来获取或设置窗体的上边缘的y坐标(以像素为单位)。

9ControlBox属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。值为true

时将显示控制框,值为false时不显示控制框。

10MaximizeBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。值为 true时显示最大化按钮,值为false时不显示最大化按钮。

11MinimizeBox 属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。值为 true时显示最小化按钮,值为false时不显示最小化按钮。

12AcceptButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Enter 键时就相当于单击了窗体上的该按钮。

13CancelButton 属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Esc 键时就相当于单击了窗体上的该按钮。

14Modal 属性:该属性用来设置窗体是否为有模式显示窗体。如果有模式地显示该窗体,该属性值为true;否则为 false。当有模式地显示窗体时,只能对模式窗体上的对象进行输入。必须隐藏或关闭模式窗体(通常是响应某个用户操作),然后才能对另一窗体进行输入。有模式显示的窗体通常用做应用程序中的对话框。

15ActiveControl属性:用来获取或设置容器控件中的活动控件。窗体也是一种容器控件。

16ActiveMdiChild属性:用来获取多文档界面(MDI)的当前活动子窗口。

17AutoScroll 属性:用来获取或设置一个值,该值指示窗体是否实现自动滚动。如果此属性值设置为

true,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。另外,当自动滚动打开时,窗体

的工作区自动滚动,以使具有输入焦点的控件可见。

18BackColor属性:用来获取或设置窗体的背景色。

19BackgroundImage属性:用来获取或设置窗体的背景图像。

20Enabled 属性:用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。如果控件可

以对用户交互作出响应,则为 true;否则为false。默认值为true

21Font属性:用来获取或设置控件显示的文本的字体。

22ForeColor属性:用来获取或设置控件的前景色。

23IsMdiChild属性:获取一个值,该值指示该窗体是否为多文档界面(MDI)子窗体。值为 true时,

是子窗体,值为false时,不是子窗体。

24IsMdiContainer 属性:获取或设置一个值,该值指示窗体是否为多文档界面(MDI)中的子窗体的容器。值为true时,是子窗体的容器,值为false时,不是子窗体的容器。

25KeyPreview属性:用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。值为true时,窗体将接收按键事件,值为false时,窗体不接收按键事件。

26MdiChildren属性:数组属性。数组中的每个元素表示以此窗体作为父级的多文档界面(MDI)子窗体。

27MdiParent属性:用来获取或设置此窗体的当前多文档界面(MDI)父窗体。

28ShowInTaskbar属性:用来获取或设置一个值,该值指示是否在Windows任务栏中显示窗体。

29Visible属性:用于获取或设置一个值,该值指示是否显示该窗体或控件。值为true

时显示窗体或控件,为 false时不显示。

30Capture属性:如果该属性值为true,则鼠标就会被限定只由此控件响应,不管鼠标是否在此控件的范围内。

2、常用方法

下面介绍一些窗体的最常用方法。

1Show方法:该方法的作用是让窗体显示出来,其调用格式为:窗体名.Show();

其中窗体名是要显示的窗体名称。

2Hide方法:该方法的作用是把窗体隐藏出来,其调用格式为: 窗体名.Hide();

其中窗体名是要隐藏的窗体名称。

3Refresh方法:该方法的作用是刷新并重画窗体,其调用格式为: 窗体名.Refresh();

其中窗体名是要刷新的窗体名称。

4Activate方法:该方法的作用是激活窗体并给予它焦点。其调用格式为: 窗体名.Activate(); 其中窗体名是要激活的窗体名称。

5Close方法:该方法的作用是关闭窗体。其调用格式为: 窗体名.Close();

其中窗体名是要关闭的窗体名称。

6ShowDialog方法:该方法的作用是将窗体显示为模式对话框。其调用格式为:

窗体名.ShowDialog();

3.常用事件

1Load事件:该事件在窗体加载到内存时发生,即在第一次显示窗体前发生。

2Activated事件:该事件在窗体激活时发生。

3Deactivate事件:该事件在窗体失去焦点成为不活动窗体时发生。

4Resize事件:该事件在改变窗体大小时发生。

5Paint事件:该事件在重绘窗体时发生。

6Click事件:该事件在用户单击窗体时发生。

7DoubleClick事件:该事件在用户双击窗体时发生。

8Closed事件:该事件在关闭窗体时发生。

文本框类控件

2Label 控件

1、常用属性:

1Text属性:用来设置或返回标签控件中显示的文本信息。

2AutoSize 属性:用来获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容。取值为 true时,控件将自动调整到刚好能容纳文本时的大小,取值为false时,控件的大小为设计时的大小。默认值为false

3Anchor 属性:用来确定此控件与其容器控件的固定关系的。所谓容器控件指的是这样一种情况:往往在控件之中还有一个控件,例如最典型的就是窗体控件中会包含很多的控件,像标签控件、文本框等。这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。 对于 Anchor 属性,可以设定 TopBottomRightLeft 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 LeftRightBottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变。可见随着窗体的大小变化,Label控件也会随着变 而不 Archor中所规定的边缘与相应的父控件边缘的距离。

4BackColor属性:

用来获取或设置控件的背景色。当该属性值设置为 Color.Transparent 时,标签将透明显示,即背景色不再显示出来。

5BorderStyle 属性:用来设置或返回边框。有三种选择:BorderStyle.None 为无边框(默认),BorderStyle.FixedSingle 为固定单边框,BorderStyle.Fixed3D 为三维边框。边框效果如图 9-8 所示。

6TabIndex属性:用来设置或返回对象的Tab键顺序。

7Enabled 属性:用来设置或返回控件的状态。值为 true 时允许使用控件,值为 false 时禁止使用控件,此时标签呈暗淡色,一般在代码中设置。另外,标签还具有VisibleForeColorFont等属性,具体含义请参考窗体的相应属性。

3TextBox 控件

1、主要属性:

1Text属性:Text属性是文本框最重要的属性,因为要显示的文本就包含在Text属性中。默认情况下,最多可在一个文本框中输入2048个字符。如果将MultiLine属性设置为true,则最多可输入32KB 的文本。Text属性可以在设计时使用【属性】窗口设置,也可以在运行时用代码设置或者通过用户输入来设置。可以在运行时通过读取Text属性来获得文本框的当前内容。

2MaxLength 属性:用来设置文本框允许输入字符的最大长度,该属性值为 0 时,不限制输入的字符数。

3MultiLine 属性:用来设置文本框中的文本是否可以输入多行并以多行显示。值为 true 时,允许多行显示。值为false时不允许多行显示,一旦文本超过文本框宽度时,超过部分不显示。

4HideSelection属性:用来决定当焦点离开文本框后,选中的文本是否还以选中的方式显示,值为true,则不以选中的方式显示,值为 false将依旧以选中的方式显示。

5ReadOnly属性:用来获取或设置一个值,该值指示文本框中的文本是否为只读。值为 true时为只读,值为 false时可读可写。

6PasswordChar 属性:是一个字符串类型,允许设置一个字符,运行程序时,将输入到 Text 的内容全部显示为该属性值,从而起到保密作用,通常用来输入口令或密码。

7ScrollBars属性: 用来设置滚动条模式, 有四种选择: ScrollBars.None (无滚动条), ScrollBars.Horizontal(水平滚动条),ScrollBars.Vertical(垂直滚动条),ScrollBars.Both(水平和垂直滚动条)。

注意:只有当MultiLine属性为true时,该属性值才有效。在WordWrap属性值为true时,

水平滚动条将不起作用

8SelectionLength属性:用来获取或设置文本框中选定的字符数。只能在代码中使用,值为0 时,表示未选中任何字符。

9SelectionStart属性:用来获取或设置文本框中选定的文本起始点。只能在代码中使用,第一个字符的位置为0,第二个字符的位置为1,依此类推。

10SelectedText 属性:用来获取或设置一个字符串,该字符串指示控件中当前选定的文本。只能在代码中使用。

11Lines:该属性是一个数组属性,用来获取或设置文本框控件中的文本行。即文本框中的每一行存放在 Lines数组的一个元素中。

12Modified:用来获取或设置一个值,该值指示自创建文本框控件或上次设置该控件的内容后,用户是否修改了该控件的内容。值为true表示修改过,值为 false表示没有修改过。

13TextLength属性:用来获取控件中文本的长度。

14WordWrap:用来指示多行文本框控件在输入的字符超过一行宽度时是否自动换行到下一行的开始,值为 true,表示自动换到下一行的开始,值为false表示不自动换到下一行的开始。

2、常用方法:

1AppendText方法:把一个字符串添加到文件框中文本的后面,调用的一般格式如下:

文本框对象.AppendText(str)

参数 str是要添加的字符串。

2Clear方法:从文本框控件中清除所有文本。调用的一般格式如下:

文本框对象.Clear()该方法无参数。

3Focus方法:是为文本框设置焦点。如果焦点设置成功,值为 true,否则为false。调用的一般格式如下: 文本框对象.Focus()该方法无参数。

4Copy方法:将文本框中的当前选定内容复制到剪贴板上。调用的一般格式如下:

文本框对象.Copy()该方法无参数。

5Cut方法:将文本框中的当前选定内容移动到剪贴板上。调用的一般格式如下:

文本框对象.Cut()该方法无参数。

6Paste方法:用剪贴板的内容替换文本框中的当前选定内容。调用的一般格式如下:

文本框对象.Paste()该方法无参数。

7Undo 方法:撤销文本框中的上一个编辑操作。调用的一般格式如下:

文本框对象.Undo()该方法无参数。

8ClearUndo方法:从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用

程序的状态,可以使用此方法防止重复执行撤销操作。调用的一般格式如下:

文本框对象.ClearUndo()该方法无参数。

9Select方法:用来在文本框中设置选定文本。调用的一般格式如下:

文本框对象.Select(start,length)

该方法有两个参数,第一个参数start用来设定文本框中当前选定文本的第一个字符的位

置,第二个参数length用来设定要选择的字符数。

10SelectAll方法:用来选定文本框中的所有文本。调用的一般格式如下:

文本框对象.SelectAll()该方法无参数。

3、常用事件:

1GotFocus事件:该事件在文本框接收焦点时发生。

2LostFocus事件:该事件在文本框失去焦点时发生。

3TextChanged事件:该事件在Text属性值更改时发生。无论是通过编程修改还是用户交互更改文本框的 Text属性值,均会引发此事件。

4RichTextBox控件

RichTextBox是一种既可以输入文本、 又可以编辑文本的文字处理控件, TextBox控件相比, RichTextBox控件的文字处理功能更加丰富, 不仅可以设定文字的颜色、 字体, 还具有字符串检索功能。 另外, RichTextBox控件还可以打开、编辑和存储.rtf格式文件、ASCII文本格式文件及Unicode编码格式的文件。

1、常用属性

上面介绍的 TextBox 控件所具有的属性,RichTextBox 控件基本上都具有,除此之外,该控件还具有一些其他属性。

1RightMargin属性:用来设置或获取右侧空白的大小,单位是像素。通过该属性可以设置右侧空白,如希望右侧空白为50像素,可使用如下语句:

RichTextBox1.RightMargin=RichTextBox1.Width-50;

2Rtf属性:用来获取或设置RichTextBox控件中的文本,包括所有RTF格式代码。可以使用此属性将RTF格式文本放到控件中以进行显示,或提取控件中的RTF格式文本。此属性通常用于在RichTextBox控件和其他RTF源(如 MicrosoftWordWindows写字板)之间交换信息。

3SelectedRtf 属性:用来获取或设置控件中当前选定的 RTF 格式的格式文本。此属性使用户得以获取控件中的选定文本,包括RTF格式代码。如果当前未选定任何文本,给该属性赋值将把所赋的文本插入到插入点处。如果选定了文本,则给该属性所赋的文本值将替换掉选定文本。

4SelectionColor属性:用来获取或设置当前选定文本或插入点处的文本颜色。

5SelectionFont属性:用来获取或设置当前选定文本或插入点处的字体。

2、常用方法

前面介绍的 TextBox 控件所具有的方法,RichTextBox 控件基本上都具有,除此之外,该控件还具有一些其他方法。

1Redo方法:用来重做上次被撤销的操作。调用的一般格式如下:

RichTextBox对象.Redo() 该方法无参数。

2Find方法:用来从RichTextBox控件中查找指定的字符串。经常使用的调用格式如下:

[格式1]

RichTextBox对象.Find(str)

[功能]:在指定的“RichTextBox”控件中查找文本,并返回搜索文本的第一个字符在控件内的位置。如果未找到搜索字符串或者str参数指定的搜索字符串为空,则返回值为1

[格式2]

RichTextBox对象.Find(str,RichTextBoxFinds)

[功能]:在“RichTextBox 对象”指定的文本框中搜索 str 参数中指定的文本,并返回文本的第一个字符在控件内的位置。如果返回负值,则未找到所搜索的文本字符串。还可以使用此方法搜索特定格式的文本。参数RichTextBoxFinds指定如何在控件中执行文本搜索,其取值及其含义如表9-4 所示。

[格式3]

RichTextBox对象.Find(str,start,RichTextBoxFinds)

[功能]:这里Find方法与前面的格式2 基本类似,不同的只是通过设置控件文本内的搜索起始位置来缩小文本搜索范围,start参数表示开始搜索的位置。此功能使用户得以避开可能已搜索过的文本或已经知道不包含要搜索的特定文本的文本。如果在options参数中指定了RichTextBoxFinds.Reverse值,则 start参数的值将指示反向搜索结束的位置,因为搜索是从文档底部开始的。

3SaveFile方法:用来把RichTextBox中的信息保存到指定的文件中,调用格式有以下三种。

[格式1]RichTextBox对象名.SaveFile(文件名);

[功能]:将 RichTextBox控件中的内容保存为RTF格式文件中。

[格式2]RichTextBox对象名.SaveFile(文件名,文件类型);

[功能]:将 RichTextBox控件中的内容保存为“文件类型”指定的格式文件中。

[格式3]RichTextBox对象名.SaveFile(数据流,数据流类型);

[功能]:将 RichTextBox控件中的内容保存为“数据流类型”指定的数据流类型文件中。

其中,文件类型或数据流类型的取值及含义如表9-5所示。

4LoadFile方法:使用LoadFile方法可以将文本文件、RTF文件装入RichTextBox控件。主要的调用格式有以下三种。

[格式1]RichTextBox对象名.LoadFile(文件名); - 8

[功能]:将RTF格式文件或标准ASCII文本文件加载到RichTextBox控件中。

[格式2]RichTextBox对象名.LoadFile(数据流,数据流类型);

[功能]:将现有数据流的内容加载到RichTextBox控件中。

[格式3]RichTextBox对象名.LoadFile(文件名,文件类型);

[功能]:将特定类型的文件加载到RichTextBox控件中。

注意:文件类型和数据流格式见表9-5

5NumericUpDown 控件

Windows 窗体】控件组中的 NumericUpDown 控件看起来像是一个文本框与一对用户可单击以调整值的

箭头的组合。可以通过单击向上和向下按钮、按向上和向下箭头键来增大和减小数字,也可以直接输入数

字。单击向上箭头键时,值向最大值方向增加;单击向下箭头键时,值

向最小值方向减少。该控件在工具箱中的图标为

该控件的样式如图9-13所示。

1、常用属性:

1DecimalPlaces:获取或设置该控件中显示的小数位数。

2Hexadecimal:获取或设置一个值,该值指示该控件是否以十六进制格式显示所包

含的值。

3Increment:获取或设置单击向上或向下按钮时,该控件递增或递减的值。

4Maximum:获取或设置该控件的最大值。

5Minimum:获取或设置该控件的最小值。

6Value:获取或设置该控件的当前值。

TextBox控件一样,NumericUpDown控件的常用事件有:ValueChangedGotFocusLostFocus等。

按钮类控件

6Button 控件

Button控件又称按钮控件,是 Windows应用程序中最常用的控件之一,通常用它来执行命令。如果按钮具有焦点,就可以使用鼠标左键、Enter键或空格键触发该按钮的Click事件。通过设置窗体的AcceptButton

CancelButton 属性,无论该按钮是否有焦点,都可以使用户通过按 Enter Esc 键来触发按钮的 Click事件。一般不使用 Button 控件的方法。Button 控件也具有许多如 TextForeColor 等的常规属性,此处不再介绍,只介绍该控件有特色的属性。以后介绍的控件也采用同样的方法来处理。

1、常用属性

1DialogResult属性:当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,

ShowDialog方法的返回值。值有:OKCancelAbortRetryIgnoreYesNo等。

2Image属性:用来设置显示在按钮上的图像。

3FlatStyle属性:用来设置按钮的外观。其取值及含义如表9-7 所示。

2、常用事件:

1Click事件:当用户用鼠标左键单击按钮控件时,将发生该事件。

2MouseDown事件:当用户在按钮控件上按下鼠标按钮时,将发生该事件。

3MouseUp事件:当用户在按钮控件上释放鼠标按钮时,将发生该事件。

7GroupBox 控件

GroupBox控件又称为分组框,它在工具箱中的图标是 。该控件常用于为其他控件提供可识别的分组,其典型的用法之一就是给RadioButton控件分组。可以通过分组框的Text属性为分组框中的控件向用户提供提示信息。设计时,向GroupBox 控件中添加控件的方法有两种:一是直接在分组框中绘制控件;二是把某一个已存在的控件复制到剪贴板上,然后选中分组框,再执行粘贴操作即可。位于分组框中的所有控件随着分组框的移动而一起移动,随着分组框的删除而全部删除,分组框的Visible属性和Enabled属性也会影响到分组框中的所有控件。分组框的最常用的属性是Text,一般用来给出分组提示。

8RadioButton控件

RadioButton又称单选按钮,其在工具箱中的图标为 ,单选按钮通常成组出现,用于提供

两个或多个互斥选项,即在一组单选钮中只能选择一个。

1、常用属性:

1Checked属性:用来设置或返回单选按钮是否被选中,选中时值为true,没有选中时值为false

2AutoCheck 属性:如果 AutoCheck 属性被设置为 true(默认),那么当选择该单选按钮时,将自动清除该组中所有其他单选按钮。对一般用户来说,不需改变该属性,采用默认值(true)即可。

3Appearance 属性:用来获取或设置单选按钮控件的外观。当其取值为 Appearance.Button 时,将使单选按钮的外观像命令按钮一样:当选定它时,它看似已被按下。当取值为 Appearance.Normal 时,就是默认的单选按钮的外观。

4Text属性:用来设置或返回单选按钮控件内显示的文本,该属性也可以包含访问键,即前面带有“&

符号的字母,这样用户就可以通过同时按Alt键和访问键来选中控件。

2、常用事件:

1Click事件:当单击单选按钮时,将把单选按钮的Checked属性值设置为true,同时发生Click事件。

2CheckedChanged事件:当Checked属性值更改时,将触发CheckedChanged事件。

9CheckBox 控件

CheckBox控件的常用属性如下。

1TextAlign属性:用来设置控件中文字的对齐方式,有9种选择,如图9-16 所示。

从上到下、从左至右分别是:ContentAlignment.TopLeftContentAlignment.TopCenter

ContentAlignment.TopRightContentAlignment.MiddleLeftContentAlignment.MiddleCenter

ContentAlignment.MiddleRightContentAlignment.BottomLeftContentAlignment.BottomCenter

ContentAlignment.BottomRight。该属性的默认值为ContentAlignment.MiddleLeft,即文字左 对齐、居控件垂直方向中央。

2ThreeState属性:用来返回或设置复选框是否能表示三种状态,如果属性值为true时,表示可以表示

三种状态—选中、没选中和中间态(CheckState.CheckedCheckState.Unchecked

CheckState.Indeterminate),属性值为false时,只能表示两种状

态——选中和没选中。

3Checked属性:用来设置或返回复选框是否被选中,值为true时,表示复选框被选中,值为false时,

表示复选框没被选中。当ThreeState属性值为true时,中间态也表示选中。

4CheckState 属性:用来设置或返回复选框的状态。在 ThreeState 属性值为 false 时,取值有

CheckState.CheckedCheckState.Unchecked。在ThreeState属性值被设置为True时,CheckState还可以取

CheckState.Indeterminate,在此时,复选框显示为浅灰色选中状态,该状态通常表示该选项下的多个子

选项未完全选中。

CheckBox控件的常用事件有ClickCheckedChanged等,其含义及触发时机与单选按钮

完成一致。

列表类控件

10ListBox 控件

ListBox 控件又称列表框,它在工具箱中的图标为,它显示一个项目列表供用户选择。在列表框中,用户一次可以选择一项,也可以选择多项。

1、常用属性:

1Items属性:用于存放列表框中的列表项,是一个集合。通过该属性,可以添加列表项、移除列表项和获得列表项的数目。

2MultiColumn 属性:用来获取或设置一个值,该值指示ListBox是否支持多列。值为 true 时表示支持多列,值为 false 时不支持多列。当使用多列模式时,可以使控件得以显示更多可见项。

3ColumnWidth 属性:用来获取或设置多列 ListBox控件中列的宽度。

4SelectionMode属性:用来获取或设置在ListBox控件中选择列表项的方法。当 SelectionMode属性设置为 SelectionMode.MultiExtended 时,按下 Shift 键的同时单击鼠标或者同时按 Shift 键和箭头键之一(上箭头键、下箭头键、左箭头键和右箭头键),会将选定内容从前一选定项扩展到当前项。按 Ctrl 键的同时单击鼠标将选择或撤销选择列表中的某项;当该属性设置为 SelectionMode.MultiSimple 时,鼠标单击或按空格键将选择或撤销选择列表中的某项;该属性的默认值为SelectionMode.One,则只能选择一项。

5SelectedIndex属性:用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。

6SelectedIndices。该属性用来获取一个集合,该集合包含 ListBox 控件中所有选定项的从零开始的索引。

7SelectedItem属性:获取或设置ListBox中的当前选定项。

8SelectedItems属性:获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimpleSelectionMode.MultiExtended(它指示多重选择ListBox)时使用。

9Sorted属性:获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为true;如果列表项不按字母排序,该属性值为false。默认值为false。在向已排序的 ListBox控件中添加项时,这些项会移动到排序列表中适当的位置。

10Text 属性:该属性用来获取或搜索 ListBox 控件中当前选定项的文本。当把此属性值设置为字符串值时,ListBox 控件将在列表内搜索与指定文本匹配的项并选择该项。若在列表中选择了一项或多项,该属性将返回第一个选定项的文本。

11ItemsCount属性:该属性用来返回列表项的数目。

2、常用方法:

1FindString方法:用来查找列表项中以指定字符串开始的第一个项,有两种调用格式。

[格式1]ListBox对象.FindString(s);

[功能]:在“ListBox 对象”指定的列表框中查找字符串 s,如果找到则返回该项从零开始的索引;如果找不到匹配项,则返回ListBox.NoMatches

[格式2]ListBox对象.FindString(s,n);

[功能]:在 ListBox 对象指定的列表框中查找字符串 s,查找的起始项为n+1,即 n 为开始查找的前一项的索引。如果找到则返回该项从零开始的索引;如果找不到匹配项,则返回ListBox.NoMatches

注意:FindString 方式只是词语部分匹配,即要查找的字符串在列表项的开头,便认为是匹配的,如果要

精确匹配,即只有在列表项与查找字符串完全一致时才认为匹配,可使用FindStringExact方法,调用格式与功能与FindString基本一致。

2SetSelected方法:用来选中某一项或取消对某一项的选择,调用格式及功能如下。

[格式]ListBox对象.SetSelected(n,l);

[功能]:如果参数 l 的值是 true,则在 ListBox 对象指定的列表框中选中索引为 n 的列表项,如果参数l 的值是 false,则索引为n 的列表项未被选中。

3Items.Add方法:用来向列表框中增添一个列表项,调用格式及功能如下。

[格式]ListBox对象.Items.Add(s);

[功能]:把参数s添加到“listBox对象”指定的列表框的列表项中。

4Items.Insert方法:用来在列表框中指定位置插入一个列表项,调用格式及功能如下。

[格式]ListBox对象.Items.Insert(n,s);

[功能]:参数n代表要插入的项的位置索引,参数 s代表要插入的项,其功能是把s插入到“listBox对象”

指定的列表框的索引为n的位置处。

5Items.Remove方法:用来从列表框中删除一个列表项,调用格式及功能如下。

[格式]ListBox对象.Items.Remove(k);

[功能]:从 ListBox对象指定的列表框中删除列表项s

6Items.Clear方法:用来清除列表框中的所有项。其调用格式如下: ListBox对象.Items.Clear();

该方法无参数。

7BeginUpdate方法和EndUpdate方法:这两个方法均无参数,调用格式分别如下:

ListBox对象.BeginUpdate(); ListBox对象.EndUpdate();

这两个方法的作用是保证使用 Items.Add 方法向列表框中添加列表项时,不重绘列表框。即在向列表框添加项之前,调用BeginUpdate方法,以防止每次向列表框中添加项时都重新 绘制 ListBox 控件。完成向列表框中添加项的任务后,再调用 EndUpdate 方法使 ListBox 控件重新绘制。

当向列表框中添加大量的列表项时,使用这种方法添加项可以防止在绘制 ListBox 时的闪烁现象。一个例

子程序如下:

publicvoidAddToMyListBox()

{

listBox1.BeginUpdate();

for(intx=1;x<5000;x++)

{

listBox1.Items.Add("Item"+x.ToString());

}

listBox1.EndUpdate();

}

ListBox控件常用事件有ClickSelectedIndexChangedSelectedIndexChanged事件在列表框中改变选中项时发生。

11ComboBox 控件

ComboBox 控件又称组合框,在工具箱中的图标为。默认情况下,组合框分两个部分显示:顶部是一个允许输入文本的文本框,下面的列表框则显示列表项。可以认为ComboBox就是文本框与列表框的组合,与文本框和列表框的功能基本一致。与列表框相比,组合框不能多选,它无 SelectionMode 属性。但组合框有一个名为DropDownStyle的属性,该属性用来设置或获取组合框的样式,其取值及含义如表9-10所示。

组合框的各种样式如图9-22 所示, 左边的组合框能够通过文本框输入文本, 中间的组合框则不能输入文本,只能选择列表项。

12CheckedListBox 控件

CheckedListBox控件又称复选列表框,它扩展了ListBox控件,它几乎能完成列表框可以完成的所有任务,并且还可以在列表项旁边显示复选标记。两种控件间的其他差异在于,复选列表框只支持- 13 -

DrawMode.Normal,并且复选列表框只能有一项选定或没有任何选定。此处需要注意一点:选定的项是指

窗体上突出显示的项,已选中的项是指左边的复选框被选中的项。复选列表框的样式如图9-23所示。

除具有列表框的全部属性外,它还具有以下属性。

1CheckOnClick属性:获取或设置一个值,该值指示当某项被选定时是否应切换左侧的复选框。如果立即切换选中标记,则该属性值为true;否则为false。默认值为false

2CheckedItems 属性:该属性是复选列表框中选中项的集合,只代表处于CheckState. CheckedCheckState.Indeterminate状态的那些项。 该集合中的索引按升序排列。

3CheckedIndices 属性:该属性代表选中项(处于选中状态或中间状态的那些项)索引的集合。

13PictureBox 控件的使用

PictureBox 控件又称图片框,常用于图形设计和图像处理应用程序,在该控件中可以加载的图像文件格式有:位图文件(.Bmp)、图标文件(.ICO)、图元文件(.wmf)、.JPEG .GIF 文件。下而仅介绍该控件的常用属性和事件。

1、常用属性:

1Image属性:用来设置控件要显示的图像。把文件中的图像加载到图片框通常采用以下三种方式。

设计时单击Image属性,在其后将出现【…】按钮,单击该按钮将出现一个【打开】对话框,在该对话框中找到相应的图形文件后单击【确定】按钮。产生一个Bitmap类的实例并赋值给Image属性。形式如下:

Bitmapp=newBitmap(图像文件名);

pictureBox对象名.Image=p;

通过 Image.FromFile方法直接从文件中加载。形式如下:

pictureBox对象名.Image=Image.FromFile(图像文件名);

2SizeMode属性:用来决定图像的显示模式。其取值有四种情况

14Timer 控件

Timer 控件又称定时器控件或计时器控件,在工具箱中的图标是 ,该控件的主要作用是按一定的时间间隔周期性地触发一个名为Tick的事件, 因此在该事件的代码中可以放置一些需要每隔一段时间重复执行的程序段。在程序运行时,定时器控件是不可见的。

1、常用属性:

1Enabled 属性:用来设置定时器是否正在运行。值为 true 时,定时器正在运行,值为 false 时,定时器不在运行。

2Interval属性:用来设置定时器两次Tick事件发生的时间间隔,以毫秒为单位。如它的值设置为500,则将每隔0.5秒发生一个Tick事件。

2、常用方法:

1Start方法:用来启动定时器。调用的一般格式如下:

Timer控件名.start(); 该方法无参数。

2Stop方法:用来停止定时器。调用的一般格式如下:

Timer控件名.stop(); 该方法无参数。

3、常用事件:

定义器控件响应的事件只有Tick,每隔Interval时间后将触发一次该事件。

15ProgressBar控件和 TrackBar控件

1ProgressBar控件

ProgressBar 控件又称进度条控件,它在工具栏中的图标为 ,该控件在水平栏中显示适当长度的矩形来指示进程的进度。当执行进程时,进度条用系统突出显示颜色在水平栏中从左向右进行填充。进程完成时,进度栏被填满。当某进程运行时间较长时,如果没有视觉提示,用户可能会认为应用程序不响应,通过在应用程序中使用进度条,就可以告诉用户应用程序正在执行冗长的任务且应用程序仍在响应。

ProgressBar控件的常用属性如下。

1Maximum属性:用来设置或返回进度条能够显示的最大值,默认值为100

2Minimum属性:用来设置或返回进度条能够显示的最小值,默认值为0

3Value属性:用来设置或返回进度条的当前位置。

4Step属性:用来设置或返回一个值,该值用来决定每次调用PerformStep 方法时, Value属性增加的幅度。例如,如果要复制一组文件,则可将 Step 属性的值设置为 1,并将 Maximum 属性的值设置为要复制的文件总数。在复制每个文件时,可以调用PerformStep方法按Step属性的值增加进度栏。

ProgressBar控件的常用方法如下。

1Increment方法:用来按指定的数量增加进度条的值,调用的一般格式如下:

progressBar对象.Increment(n);

其功能是把“progressBar对象”指定的进度条对象的Value属性值增加nn为整数。调用该方法之后,若Value属性大于Maximum属性的值,则 Value属性值就是Maximum值,若Value属性小于Minimum属性值,则 Value属性值就是Minimum值。

2PerformStep方法:用来按step属性值来增加进度条的Value属性值,调用的一般格式如下:

progressBar对象.PerformStep(); 该方法无参数。例如,下列程序段是一个显示复制多个文件的进度的进度条使用方法。

privatevoidCopyWithProgress(string[]filenames)

{ pBar1.Visible=true;

pBar1.Minimum=1;

pBar1.Maximum=filenames.Length;

pBar1.Value=1;

pBar1.Step=1;

for(intx=1;x<=filenames.Length;x++)

{ if(CopyFile(filenames[x-1])==true)

{

pBar1.PerformStep();

}

}

}

ProgressBar控件能响应很多事件,但一般很少使用。

2TrackBar控件

TrackBar 控件又称滑块控件、跟踪条控件,它在工具箱中的图标是“ 。该控件主要用于在大量信息中进行浏览,或用于以可视形式调整数字设置。TrackBar控件有两部分:缩略图(也称为滑块)和刻度线。缩略图是可以调整的部分,其位置与 Value 属性相对应。刻度线是按规则间隔分隔的可视化指示符。跟踪条控件可以按指定的增量移动,并且可以水平或者垂直排列。

TrackBar控件的常用属性如下。

1Maximum属性:用来获取或设置TrackBar控件可表示的范围上限,即最大值。

2Minimum属性:用来获取或设置TrackBar控件可表示的范围下限,即最小值。

3Orientation属性:用来获取或设置一个值,该值指示跟踪条是在水平方向还是在垂

直方向。

4LargeChange属性:用来获取或设置一个值,该值指示当滑块长距离移动时应为Value属性中加上或

减去的值。

5SmallChange属性:用来获取或设置当滑块短距离移动时对Value属性进行增减的值。

6Value属性:用来获取或设置滑块在跟踪条控件上的当前位置的值。

7TickFrequency属性:用来获取或设置一个值,该值指定控件上绘制的刻度之间的增量。

8TickStyle 属性:用来获取或设置一个值,该值指示如何显示跟踪条上的刻度线。该属性的取值及含义如表9-12 所示。

TrackBar控件的常用事件是ValueChanged,该事件在TrackBar控件的Value属性值改变时发生。

16HScrollBar 控件和 VScrollBar控件的使用

滚动条(ScrollBar)是大部分Windows应用程序中都具有的控件,是 Windows界面的

一种常见元素,通常分为水平滚动条(HscrollBar)和垂直滚动条(VscrollBar)。HScrollBar

在工具箱中的图标是,VScrollBar控件在工具箱中的图标是。这两

个控件主要用于在应用程序或控件中水平或垂直滚动,以方便在较长的列表中或大量信息中

转移。

1、常用属性:

1MinimumMaximum属性:与TrackBar控件的同名属性基本相同。

2Value属性:用于设置或返回滑块在滚动条中所处的位置,其默认值为0。当滑块的位置值为最小值时,滑块移到水平滚动条的最左端位置,或移到垂直滚动条的顶端位置。当滑块的位置值为最大值时,滑块移到水平滚动条的最右端位置或垂直滚动条的底端位置。

3SmallChangeLargeChange属性:这两个属性主要用于调整滑块移动的距离。其

SmallChange属性用于控制当鼠标单击滚动条两边的箭头时,滑块滚动的值,即 Value属性增加或减小的值。而LargeChange属性则控制当用鼠标直接单击滚动条时滑块滚动的值。当用户按下PageUp键或PageDown键或者在滑块的任何一边单击滚动条轨迹时,Value属性将按照 LargeChange属性中设置的值进行增加或减小。

2、常用事件:

1Scroll事件:该事件在用户通过鼠标或键盘移动滑块后发生。

2ValueChanged事件:该事件在滚动条控件的Value属性值改变时发生。滚动条的使用方法与TrackBar控件基本一致,此处不再赘述。

对话框类控件

17OpenFileDialog 控件

OpenFileDialog控件又称打开文件对话框,主要用来弹出Windows中标准的【打开文件】

对话框。该控件在工具箱中的图标为

OpenFileDialog控件的常用属性如下。

1Title属性:用来获取或设置对话框标题,默认值为空字符串("")。如果标题为空字符串,则系统将使用默认标题: “打开”

2Filter属性:用来获取或设置当前文件名筛选器字符串,该字符串决定对话框的【另存为文件类型】或【文件类型】框中出现的选择内容。对于每个筛选选项,筛选器字符串都包含筛选器说明、垂直线条(|)和筛选器模式。不同筛选选项的字符串由垂直线条隔开,例如: “文本文件(*.txt)|*.txt|所有文件(*.*)|*.*。还可以通过用分号来分隔各种文件类型,可以将多个筛选器模式添加到筛选器中,例如: “图像文件(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG; *.GIF|所有文件(*.*)|*.*

3FilterIndex属性:用来获取或设置文件对话框中当前选定筛选器的索引。第一个筛选器的索引为1,默认值为1

4FileName 属性:用来获取在打开文件对话框中选定的文件名的字符串。文件名既包含文件路径也包含扩展名。如果未选定文件,该属性将返回空字符串("")。

5InitialDirectory属性:用来获取或设置文件对话框显示的初始目录,默认值为空字符串("")。 - 17 -

6ShowReadOnly属性:用来获取或设置一个值,该值指示对话框是否包含只读复选框。如果对话框包含只读复选框,则属性值为true,否则属性值为false。默认值为false

7ReadOnlyChecked属性:用来获取或设置一个值,该值指示是否选定只读复选框。如果选中了只读复选框,则属性值为true,反之,属性值为false。默认值为false

8Multiselect属性:用来获取或设置一个值,该值指示对话框是否允许选择多个文件。如果对话框允许同时选定多个文件,则该属性值为true,反之,属性值为false。默认值为false

9FileNames属性:用来获取对话框中所有选定文件的文件名。每个文件名都既包含文件路径又包含文件扩展名。如果未选定文件,该方法将返回空数组。

10RestoreDirectory属性:用来获取或设置一个值,该值指示对话框在关闭前是否还原当前目录。假设用户在搜索文件的过程中更改了目录,且该属性值为 true,那么,对话框会将当前目录还原为初始值,若

该属性值为 false,则不还原成初始值。默认值为 falseOpenFileDialog 控件的常用方法有两个:OpenFileShowDialog方法,本节只介绍ShowDialog方法,该方法的作用是显示通用对话框,其一般调用形式如下: 通用对话框对象名.ShowDialog();

通用对话框运行时,如果单击对话框中的【确定】按钮,则返回值为 DialogResult.OK;否则返回值为DialogResult.Cancel。其他对话框控件均具有ShowDialog方法,以后不再重复介绍。

18SaveFileDialog 控件

SaveFileDialog 控件又称保存文件对话框,主要用来弹出 Windows 中标准的【保存文件】对话框。

SaveFileDialog 控件也具有 FileNameFilterFilterIndexInitialDirectoryTitle 等属性,这些属性的作用与 OpenFileDialog对话框控件基本一致,此处不再赘述。

需注意的是:上述两个对话框只返回要打开或保存的文件名,并没有真正提供打开或保存文件的功能,程序员必须自己编写文件打开或保存程序,才能真正实现文件的打开和保存功能。

19FontDialog 控件

FontDialog控件又称字体对话框,主要用来弹出Windows中标准的【字体】对话框。字体对话框的作用是显示当前安装在系统中的字体列表,供用户进行选择。下面介绍字体对话框的主要属性。

1Font属性:该属性是字体对话框的最重要属性,通过它可以设定或获取字体信息。

2Color属性:用来设定或获取字符的颜色。

3MaxSize属性:用来获取或设置用户可选择的最大磅值。

4MinSize属性:用来获取或设置用户可选择的最小磅值。192VisualC#.NET应用教程

5ShowColor属性:用来获取或设置一个值,该值指示对话框是否显示颜色选择框。如果对话框显示颜色选择框,属性值为true,反之,属性值为false。默认值为false

6ShowEffects 属性:用来获取或设置一个值,该值指示对话框是否包含允许用户指定删除线、下划线和文本颜色选项的控件。如果对话框包含设置删除线、下划线和文本颜色选项的控件,属性值为 true,反之,属性值为false。默认值为true

20ColorDialog控件

ColorDialog 控件又称颜色对话框,主要用来弹出 Windows 中标准的【颜色】对话框。该控件在工具箱中的图标为 。颜色对话框的作用是供用户选择一种颜色,并用 Color 属性记录用户选择的颜色值。下面介绍颜色对话框的主要属性。

1AllowFullOpen属性:用来获取或设置一个值,该值指示用户是否可以使用该对话框定义自定义颜色。如果允许用户自定义颜色,属性值为true,否则属性值为false。默认值为true

2FullOpen 属性:用来获取或设置一个值,该值指示用于创建自定义颜色的控件在对话框打开时是否可见。值为true时可见,值为 false时不可见。

3AnyColor 属性:用来获取或设置一个值,该值指示对话框是否显示基本颜色集中可用的所有颜色。值为 true时,显示所有颜色,否则不显示所有颜色。

4Color属性:用来获取或设置用户选定的颜色。

21PrintDialog控件和 PrintDocument 控件

PrintDialog 控件在工具箱中的图标是 PrintDocument 控件在工具箱中的图标是。使用PrintDialog控件可以显示Windows标准的【打印】对话框,在该对话框中用户可以选择打印机、选择要打印的页及页码范围等。需要注意的是:该对话框并不负责具体的打印任务,要想在应用程序中控制打印内容必须使用 PrintDocument 控件。关于这两个控件的详细使用方法读者可参阅相关资料或VisualC#的帮助文件。

用户自定义对话框

除了可以使用Windows自带的标准对话框外,用户还可以把自己设计的窗体定义成对话框。使用自定义对话框有以下几个要点。

1)将窗体的FormBorderStyle属性值设置为FixedDialog

2)根据需要向窗体上添加控件。

3)使用窗体的ShowDialog方法显示窗体,即显示出对话框。

22、用户自定义对话框

除了可以使用Windows自带的标准对话框外,用户还可以把自己设计的窗体定义成对话框。使用自定义对话框有以下几个要点。

1)将窗体的FormBorderStyle属性值设置为FixedDialog

2)根据需要向窗体上添加控件。

3)使用窗体的ShowDialog方法显示窗体,即显示出对话框。

23、菜单控件

Windows 的菜单系统是图形用户界面(GUI)的重要组成之一,在 VisualC#中使用 MainMenu 控件可以很方便地实现Windows的菜单,MainMenu控件在工具箱中的图标为

1.菜单的结构

10-9和图10-10 是典型的菜单结构。其中有文字的单个命令称菜单项,顶层菜单项是横着排列的,单击某个菜单项后弹出的称为菜单或子菜单,它们均包含若干个菜单项,菜单项其实是 MenuItem 类的一个对象。菜单项有的是变灰显示的,表示该菜单项当前是被禁止使用的。有的菜单项的提示文字中有带下划线的字母,该字母称为热键(或访问键),若是顶层菜单,可通过按“ALT+热键”打开该菜单,若是某个子菜单中的一个选项,则在打开子菜单后直接按热键就会执行相应的菜单命令。有的菜单项后面有一个按键或组合键,称快捷键,在不打开菜单的情况下按快捷键,将执行相应的命令。在图 10-9 中,【保存文件】菜单项是加粗显示的,该菜单项称为默认项。图10-9的【另存为】和【退出】之间有一个灰色的线条,该线条称为分隔线或分隔符。在图 10-10 中菜单项【白色背景】前面有一个“√”号,称为选中标记,菜单项加上选中标记表示该菜单项代表的功能当前正在起作用。

2.菜单项的常用属性

1Text 属性:用来获取或设置一个值,通过该值指示菜单项标题。当使用 Text 属性为菜单项指定标题时,还可以在字符前加一个“&”号来指定热键(访问键,即加下划线的字母)。例如,若要将“File”中的“F”指定为访问键,应将菜单项的标题指定为“&File

2Checked属性:用来获取或设置一个值,通过该值指示选中标记是否出现在菜单项文本的旁边。如果要放置选中标记在菜单项文本的旁边,属性值为true,否则属性值为false。默认值为false

3DefaultItem 属性:用来获取或设置一个值,通过该值指示菜单项是否为默认菜单项。值为 true 时,是默认菜单项,值为 false时,不是默认菜单项。菜单的默认菜单项以粗体的形式显示。当用户双击包含默认项的子菜单后,默认项被选定,然后子菜单关闭。

4Enabled属性:用来获取或设置一个值,通过该值指示菜单项是否可用。值为true时表示可用,值为false表示当前禁止使用。

5RadioCheck 属性:用来获取或设置一个值,通过该值指示选中的菜单项的左边是显示单选按钮还是选中标记。值为true时将显示单选按钮标记,值为false时显示选中标记。

6Shortcut属性:用来获取或设置一个值,该值指示与菜单项相关联的快捷键。

7ShowShortcut 属性:用来获取或设置一个值,该值指示与菜单项关联的快捷键是否在菜单项标题的旁边显示。如果快捷组合键在菜单项标题的旁边显示,该属性值为 true,如果不显示快捷键,该属性值为false。默认值为true

8MdiList属性:用来获取或设置一个值,通过该值指示是否用在关联窗体内显示的多文档界面(MDI)子窗口列表来填充菜单项。若要在该菜单项中显示MDI子窗口列表,则设置该属性值为true,否则设置该属性的值为false。默认值为false

3.菜单项的常用事件

菜单项的常用事件主要有Click事件,该事件在用户单击菜单项时发生。

24、多窗体程序设计

Windows应用程序很少只由一个窗体组成, 一般情况下一个应用程序均拥有很多个窗体。C#项目刚建立时只有一个名为Form1的窗体,要建立多窗体应用程序应首先为项目添加窗

体,添加窗体的方法如下。

1单击工具栏上的按钮 或执行【项目】→【添加Windows窗体】命令,将会出现如图 10-17 所示的【添加新项】对话框。

2在该对话框的【模板】下面的列表框中 选中【Windows 窗体】图标,在【名称】文本框中输入窗体名,然后单击【打开】按钮,即为应用程序添加了一个窗体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值