可视化界面组件统称为控件。在System.Windows.Forms.Control命名空间。
【Button 控件】
Windows 窗体 Button 控件允许用户通过单击来执行操作。当该按钮被单击时,它看起来像是被按下,然后被释放。每当用户单击按钮时,即调用 Click 事件处理程序。可将代码放入 Click 事件处理程序来执行所选择的任意操作。
按钮上显示的文本包含在 Text 属性中。如果文本超出按钮宽度,则换到下一行。但是,如果控件无法容纳文本的总体高度,则将剪裁文本。Text 属性可以包含访问键,允许用户通过同时按 Alt 键和访问键来“单击”控件。
Button 控件还可以使用 Image 和 ImageList 属性显示图像。
【Label控件】
用于显示用户不能编辑的文本或图像。它们用于标识窗体上的对象(例如,描述单击某控件时该控件所进行的操作)或显示相应信息以响应应用程序中的运行时事件或进程。因为 Label 控件不能接收焦点,所以也可以用来为其他控件创建访问键。
【LinkLabel 控件】
能够向 Windows 窗体应用程序添加 Web 样式的链接。一切可以使用 Label 控件的地方都可以使用 LinkLabel 控件;还可以将文本的一部分设置为指向某个对象或网页的链接。
该对象具有连接到网页的HTML超级连接。
当用户点击标签按钮时LinkLabel类会引发LinkClicked事件。要打开响应这个事件的网页,需要使用来自System.Diagnostics命名控件的Process.Start方法。
LinkArea 属性设置激活链接的文本区域
LinkColor、VisitedLinkColor 和 ActiveLinkColor 属性设置链接的颜色
LinkClicked 事件确定选定链接文本后将发生什么
Links 属性可以访问一个由链接组成的集合
LinkData 属性的值可以用来存储要显示文件的位置或 Web 站点的地址
【TextBox 控件】
用于获取用户输入或显示文本。TextBox 控件通常用于可编辑文本,不过也可使其成为只读控件。文本框可以显示多个行,对文本换行使其符合控件的大小以及添加基本的格式设置。TextBox 控件仅允许在其中显示或输入的文本采用一种格式。
设置文本框的PasswordChar的属性用符合代替内容。
设置Multiline的属性为true表示多行显示,默认的情况是单行显示。
TextBox不会自动提供滚动条,可以设置ScrollBars属性指定滚动条,若WordWrap设置为True,则不显示水平滚动条。
【列表框(ListBox类)】
显示一个项列表,用户可从中选择一项或多项。
当 MultiColumn 属性设置为 true 时,列表框以多列形式显示项,并且会出现一个水平滚动条。
SelectionMode 属性确定一次可以选择多少列表项
SelectedIndex 属性返回对应于列表框中第一个选定项的整数值
Items.Count 属性反映列表中的项数
若要在 ListBox 控件中添加或删除项,可以使用 Items.Add、Items.Insert、Items.Clear 或 Items.Remove 方法
向列表框添加项目:
?使用Add方法
listBox.Items.Add(newItem);
?使用Insert方法
listBox.Items.Insert(0, newItem); //0为索引号。
?通过AddRange把数组中的元素插入到列表框。
string[] names = {“Rob”, “John”, “Alice”};
listBox.Items.AddRange(names);
从列表框中删除项目:
?把索引给RemoveAt方法:
listBox.Items.RemoveAt(index);
?可以使用Remove方法传递对象索引
listBox.Items.Remove(obj);
?Clear方法从列表框中删除所有项目
listBox.Items.Clear();
选择列表框项目:
?使用SelectedIndex属性获取当前所选项的索引。没有任何项被选中则返回-1。
?SelectedItem属性返回列表框中被选项对应的对象。
?在使用多重选择的列表框时,可以选取一组选定的索引或项目。可以使用SelectedIndices属性。
ListBox.SelectedIndexCollection indices = listBox.SelectedIndices;
foreach(int index in indices){
}
【组合框(ComboBox)】
用于在下拉组合框中显示数据。默认情况下,ComboBox 控件分两个部分显示:顶部是一个允许用户键入列表项的文本框。第二部分是一个列表框,它显示一个项列表,用户可从中选择一项。
ComboBox公开了SelectedItem和SelectedIndex属性,以判断组控件中哪一项被选中。
ComboBox不支持多项选择。
ComboBox可以使用Text属性来获取组合框的文本框部分所显示的文本。
SelectedIndex 属性返回一个整数值,该值与选定的列表项相对应
Items.Count 属性反映列表中的项数
Items.Add、Items.Insert、Items.Clear 、Items.Remove 方法
【图片框(PictureBox类)】
用于显示位图、GIF、JPEG、图元文件或图标格式的图形。
使用PictureBox控件,可以只创建一个PictureBox类的实例,并分配一些属性。
PictureBox类最重要的属性是Image属性,该属性指定在这个控件中显示的图像。
例:pictureBox.Image = Image.ForFile(“图片地址”);
用SizeMode属性指定图像和PictureBox控件如何互相比较、调整大小。
【GroupBox类】
用于为其他控件提供可分组。通常,使用分组框按功能细分窗体。在分组框中对所有选项进行分组为用户提供了逻辑可视化线索。GroupBox 控件类似于 Panel 控件;但只有 GroupBox 控件显示标题,而且只有 Panel 控件可以有滚动条。
GroupBox 控件用于为其他控件提供可识别的分组。通常,使用分组框按功能细分窗体。
在分组框中对所有选项进行分组为用户提供了逻辑可视化线索。
GroupBox 控件类似于 Panel 控件;但只有 GroupBox 控件显示标题,而且只有 Panel 控件可以有滚动条。
【CheckBox 控件】
指示某个特定条件是处于打开状态还是处于关闭状态。它常用于为用户提供是/否或真/假选项。可以成组使用复选框 (CheckBox) 控件以显示多重选项,用户可以从中选择一项或多项。该控件与 RadioButton 控件类似,但可以选择任意数目的成组 CheckBox 控件。
用于创建复选框控件。复选框控件不会互斥,即用户可以在窗体上同时选择几个或根本不选任何复选框。
CheckBox 控件有两个重要属性 Checked 和 CheckState
?Checked 属性返回 true 或 false
?CheckState 属性返回 CheckState.Checked 或 CheckState.Unchecked;
?如果 ThreeState 属性设置为 true,CheckState 还可能返回 CheckState.Indeterminate
【RadioButton 控件】
为用户提供由两个或多个互斥选项组成的选项集。虽然单选按钮和复选框看似功能类似,却存在重要差异:当用户选择某单选按钮时,同一组中的其他单选按钮不能同时选定。
RadioButton 控件为用户提供由两个或多个互斥选项组成的选项集
当单击 RadioButton 控件时,其 Checked 属性设置为 true,并且调用 Click 事件处理程序
用 Text 属性设置控件内显示的文本,该属性可以包含访问键快捷方式
如果将 Appearance 属性设置为 Appearance.Button,则 RadioButton 控件的外观可以像命令按钮一样
Windows 窗体单选按钮控件以组的形式使用
单选按钮允许用户从多个选项中选择一个选项
当多个单选按钮控件位于一个窗体的同一组中时,控件将自动强制性增强互斥。
【Panel 控件】
用于为其他控件提供可识别的分组。通常,使用面板按功能细分窗体。Panel 控件类似于 GroupBox 控件;但只有 Panel 控件可以有滚动条,只有 GroupBox 控件可显示标题。
Panel控件就是包含其他控件的控件。把控件组合在一起,放在一个面板上,将更容易管理这些控件。例如:设置Panel的Enabled属性为false将禁用Panel上的所有控件;将AutoScroll属性设置为true,则可以滚动所有的控件
FlowLayoutPanel和TableLayoutPanel控件是.NET Framework的新增控件。
?FlowLayoutPanel是一个容器,允许以垂直或水平的方式放置包含的控件。
?TableLayoutPanel使用栅格结构控制控件的布局。
【TabControl 控件】
显示多个选项卡,这些选项卡类似于笔记本中的分隔卡和档案柜文件夹中的标签。选项卡中可包含图片和其他控件。使用 TabControl 创建属性页。
在 Windows 应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中
选项卡控件用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件
选项卡相当于另一个窗体,可以容纳其他控件
TabControl 控件可用来产生多页对话框中
TabControl 控件最重要的属性是 TabPages,它包含单独的选项卡
?每个单独的选项卡是一个 TabPage 对象
?单击选项卡时,将为相应的 TabPage 对象引发 Click 事件
【DateTimePicker 控件】
用户可以从日期或时间列表中选择单个项。在用来表示日期时,它显示为两部分:一个下拉列表(带有以文本形式表示的日期)和一个网格(在单击列表旁边的向下箭头时显示)。
DateTimePicker允许用户在许多不同的格式中选择一个日期或时间值(或两者)。可以以任何标准时间日前格式显示基于DateTime的值。
DateTimePicker包含Text属性和Value属性:Text属性返回DateTime值的文本表示,Value属性返回DateTime对象。
可以利用MinDate和MaxDate属性设置日前所允许的最大值和最小值。
在单击向下箭头时,会显示一个日历。
【MonthCalendar 控件】
用户查看和设置日期信息提供了一个直观的图形界面。该控件显示一个网格,该网格包含月份的编号日期,这些日期排列在周一到周日下的七个列中。可以单击月份标题任何一侧的箭头按钮来选择不同的月份。与类似的 DateTimePicker 控件不同,可以使用此控件来选择日期范围;不过,DateTimePicker 控件除了可以用来设置日期外,还可以用来设置时间。
MonthCalendar 控件为用户查看和设置日期信息提供了一个直观的图形界面。该控件以网格形式显示日历:网格包含月份的编号日期,这些日期排列在周一到周日下的七个列中,并且突出显示选定的日期范围。可以单击月份标题任何一侧的箭头按钮来选择不同的月份。
MonthCalendar 控件(日历控件)。
MonthCalendar 控件在.net的工具箱中图标如下图一所示:
一、更改 MonthCalendar 控件的外观
MonthCalendar 控件允许我们使用配色、选择显示或隐藏周数和当前日期等多种方法来自定义它的外观。
1、显示周数
在“属性”窗口将 ShowWeekNumbers 属性设置为 true。
或者使用代码设置该属性,如下:
MonthCalendar1.ShowWeekNumbers = True
设置完毕后,周数以单独的列出现在一周的第一天的左边。
2、在控件底部显示当前日期
将 ShowToday 属性设置为 true 则在控件的底部显示当天日期,设置为False则不显示。同时我们可以通过TodayDateSet 属性获取 ShowToday 属性显示设置的值
而 ShowTodayCircle 属性用于指示是否在今天的日期上加一个红色的圆圈。
3、更改月历的颜色
MonthCalendar 控件提供了 Font、ForoColor、 TitleBackColor、TitleForeColor 和 TrailingForeColor 等属性,用于设置它的外观颜色。
Font 属性和 ForoColor 属性用于确定控件内部文字的字体大小与文字的颜色,也就是月历中每个日期数字的字体与颜色。
TitleBackColor 属性确定日历标题区的背景的颜色,同时它也确定周一到周日的字体颜色。
TitleForeColor 属性确定日历标题区的前景色即标题的颜色。
TrailingForeColor 属性确定所显示的月份之前和之后的日期(即非本月日期)的颜色。
4、设置一周中的第一天
默认情况下,一周开始的第一天都是从星期日开始,如图三所示,我们也可以使用 FirstDayOfWeek 属性来改变一周开始的第一天,FirstDayOfWeek 属性默认值为 Default。
这里我们设置一周开始的第一天是星期一,可以在“属性”窗口中设置 FirstDayOfWeek 属性为 Monday,或者在代码中设置,代码如下:
MonthCalendar1.FirstDayOfWeek = Day.Monday
5、在 MonthCalendar 控件中显示多个月份
MonthCalendar 控件同时可以显示最多十二个月。默认情况下,控件只显示一个月。我们还可以指定显示多少个月以及它们在控件中的排列方式。当更改日历尺寸时,控件大小将调整;因此应确保窗体上有足够的空间供新尺寸使用。
1)、在属性窗口中将 CalendarDimensions 属性设置为要水平和垂直显示的月份数,这里我们设置为水平显示3个,垂直显示2个。
2)、或者在装载的过程中使用以下代码:
MonthCalendar1.CalendarDimensions = New System.Drawing.Size (3,2)
二、在 MonthCalendar 控件中以粗体显示特定日子
MonthCalendar 控件能以粗体显示特殊的日子,可以引起用户对特殊日期(如假日和周末)的注意。
BoldedDates 属性确定要以粗体显示的非周期性日期。
AnnuallyBoldedDates 属性包含每年以粗体显示的日期。
MonthlyBoldedDates 属性包含每月以粗体显示的日期。
这三个属性中的每一个都包含一个 DateTime 对象数组。若要从这些列表中的某一个添加或移除日期,必须添加或移除 DateTime 对象。
1、在属性窗口中设置 DateTime 对象数组
选择要添加特殊日期的属性,然后单击属性后的符号,弹出“DateTime 集合编辑器”窗口,然后使用“添加”或者“移除”按钮来编辑。对于新添加的 DateTime 对象,需要在其右边的“Value”属性中设置其对应的日期。
MonthCalendar 控件的外观具有很高的可配置性。默认情况下,今天的日期显示为圆形,并且在网格的底部加以说明。 通过将 ShowToday 和 ShowTodayCircle 属性设置为 false,可以更改此功能。
可以通过将 ShowWeekNumbers 属性设置为 true,在日历中添加周编号。
通过设置 CalendarDimensions 属性,可以水平和垂直显示多个月份。
默认情况下,星期日显示为每周的第一天,可以使用 FirstDayOfWeek 属性将任何一天指定为第一天
SelectionRange属性表示选取日期的范围
SelectStart属性表示选取日期的开始日期
SelectEnd属性表示选取日期的结束日期
【Timer 组件】定期引发事件的组件。
Windows 窗体 Timer 是定期引发事件的组件。该组件是为 Windows 窗体环境设计的。
Timer控件对时间的推移作出响应并定期引发事件。Timer控件如同按制定的时间间隔持续计时的钟表,在指定的时间引发时间。
Timer不受用户的影响,可按编程方式定期执行操作。
Timer类包含在System.Windows.Forms命名空间。
Timer控件是非可视化控件,即Timer控件加入窗体时,与其他控件不同,Timer控件不向用户提供用户界面,无需在Windows窗体设计器上显示。
Timer 控件为开发人员提供了一种在经过指定的时间间隔或到达指定的绝对时间时根据代码进行响应的方式。
使用Timer控件可以实现无需用户任何干预即可执行与时间绑定的操作。
Timer 组件的主要方法包括 Start 和 Stop,这两种方法可打开和关闭计时器。计时器在关闭时重置;不存在暂停 Timer 组件的方法。
将 Enabled 设置为 true 与调用 Start 相同,而将 Enabled 设置为 false 则与调用 Stop 相同
【DomainUpDown 控件】
看起来像是一个文本框和一对用于在列表中上下移动的箭头的组合。该控件显示并设置选择列表中的文本字符串。用户可以通过多种方式来选择字符串,这些方式包括单击向上和向下按钮在列表中移动,按向上和向下键,或者键入与列表项匹配的字符串等。该控件一个可能的用途是从按字母顺序排序的名称列表中选择项。(若要对该列表排序,请将 Sorted 属性设置为 true。)该控件的作用与列表框或组合框非常类似,但它占用的空间非常小。
该控件的主要属性包括 Items、ReadOnly 和 Wrap。Items 属性包含文本值显示在该控件中的对象列表。如果 ReadOnly 设置为 false,则该控件自动完成用户键入的文本并使该文本与列表中的值相匹配。如果 Wrap 设置为 true,则滚过最后一项后将到达列表的第一项,反之亦然。该控件的主要方法包括 UpButton 和 DownButton。
该控件只显示文本字符串。如果需要显示数值的控件,则使用 NumericUpDown 控件。
该控件的主要方法是 UpButton 和 DownButton
DomainUpDown 控件实质上是一个文本框和一对用于在列表中上下移动的按钮的组合。该控件显示并设置选择列表中的文本字符串。
用户可以通过多种方式来选择字符串,这些方式包括单击向上和向下按钮在列表中移动,按向上键和向下键,或者键入与列表项匹配的字符串等
该控件一个可能的用途是从按字母顺序排序的名称列表中选择项。若要对该列表进行排序,请将 Sorted 属性设置为 true
控件的主要属性有 Items、ReadOnly 和 Wrap。Items 属性包含文本值显示在该控件中的对象列表。如果 ReadOnly 设置为 false,则该控件自动完成用户键入的文本并使该文本与列表中的值相匹配。如果 Wrap 设置为 true,则滚过最后一项后将到达列表的第一项,反之亦然。
【NumericUpDown 控件】
看起来像是一个文本框与一对箭头的组合,用户可以单击箭头来调整值。该控件显示并设置选择列表中的单个数值。用户可以通过单击向上和向下按钮、按向上键和向下键或键入一个数字来增大和减小数字。单击向上键时,值沿最大值方向增加;单击向下键时,位置沿最小值方向移动。说明此类控件很有用的一个示例是音乐播放器上的音量控件。某些 Windows 控制面板应用程序中使用了数值 up-down 控件。
NumericUpDown 控件看起来像是一个文本框与一对用户可单击以调整值的箭头的组合。该控件显示并设置固定的数值选择列表中的单个数值。用户可以通过单击向上和向下、按向上和向下键或在控件的文本框部件中键入一个数字来增大和减小数字。单击向上键时,值向最大值方向移动;单击向下键时,值向最小值方向移动。
该控件的文本框中显示的数字可为多种格式,包括十六进制。
?ThousandsSeparator 属性确定是否每隔 3 个十进制数字位就插入一个分隔符,默认情况下为 false。
?如果将 Hexadecimal 属性设置为 true,则该控件可以用十六进制(而不是十进制格式)显示值;默认情况下为 false。
该控件的主要属性包括 Value、Maximum(默认值为 100)、Minimum(默认值为 0)和 Increment(默认值为 1)。Value 属性设置该控件中当前选择的数字。Increment 属性设置用户单击向上或向下箭头时数字的调整量。
?Value 属性设置该控件中选定的当前数字
?Increment 属性设置用户单击向上或向下按钮时值的调整量
?当焦点移出该控件时,将根据最小值和最大值验证键入的输入
该控件的主要方法是 UpButton 和 DownButton
【ProgressBar 控件】
通过在水平条中显示相应数目的矩形来指示操作的进度。操作完成时,进度栏被填满。进度栏通常用于帮助用户了解等待一项长时间的操作(例如,加载大文件)完成所需的时间。
用于指示操作的进度、完成的百分比
外观是排列在水平条中的一定数目的矩形
ProgressBar 控件的主要属性为 Value、Minimum 和 Maximum
?Minimum 和 Maximum 属性设置进度栏可以显示的最大值和最小值
?Value 属性表示操作的进度
更新当前进度值的最常用方法:
?编写代码来设置 Value 属性
?Step 属性可以用于指定一个按其递增 Value 属性的值。然后,调用 PerformStep 方法将递增该值。若要更改递增值,可以使用 Increment 方法并指定一个按其递增 Value 属性的值
【TrackBar 控件】(有时也称为“slider”控件)用于在大量信息中进行浏览,或用于以可视的形式调整数字设置。
TrackBar 控件有两部分:滚动块(又称为滑块)和刻度线。
?缩略图是可以调整的部分,其位置与 Value 属性相对应
?刻度线是按规则间隔分隔的可视化指示符
滚动块是可以调整的部分,其位置与 Value 属性相对应。刻度线是按规则间隔分隔的可视化指示符。跟踪条按指定的增量移动并且可以水平或垂直排列。使用跟踪条的一个示例是设置光标闪烁频率或鼠标速度。
TrackBar 控件(有时也称为“slider”控件)用于在大量信息中进行浏览,或用于以可视的形式调整数字设置。
TrackBar 控件有两部分:滚动块(又称为滑块)和刻度线。滚动块是可以调整的部分,其位置与 Value 属性相对应。刻度线是按规则间隔分隔的可视化指示符。跟踪条按指定的增量移动并且可以水平或者垂直排列。
TrackBar 控件的关键属性为:Value、TickFrequency、Minimum、Maximum、SmallChange 和 LargeChange。TickFrequency 为刻度间隔,Minimum 和 Maximum 为跟踪条上能表示的最大和最小值。
【ToolTip 组件】
在用户指向控件时显示相应的文本。工具提示可与任何控件相关联。举一个使用此控件的示例:为节省窗体上的空间,可以在按钮上显示一个小图标并用工具提示解释该按钮的功能。
ToolTip 组件在用户指向控件时显示相应的文本。工具提示可与任何控件相关联;为 Windows 窗体或其他容器上的多个控件提供ToolTip属性。
ToolTip 组件的主要方法包括 SetToolTip 和 GetToolTip。可以使用 SetToolTip 方法设置为控件显示的工具提示。
主要属性有 Active 和 AutomaticDelay,前者必须设置为 true 才能显示工具提示,后者用于设置以下三项内容:显示工具提示字符串的时间,用户必须指在控件上多长时间才会显示工具提示,需要多久才会显示随后的工具提示窗口。
在设计时为 Windows 窗体上的控件设置工具提示
?以编程方式设置工具提示
toolTip1.SetToolTip(button1, “Save changes”);
//设置鼠标移至button1时显示“Save Changes”
?在设计器中设置工具提示
?将一个 ToolTip 组件添加到窗体中。
?选择将显示工具提示的控件,或将其添加到窗体。
?在“属性”窗口中将“ToolTip1 上的 ToolTip”值设置为适当的文本字符串。
【ListView 控件】
显示了带图标的项的列表。可使用列表视图创建类似于 Windows 资源管理器右窗格的用户界面。该控件具有四种视图模式:“LargeIcon”、“SmallIcon”、“List”和“Details”。
大图标视图模式在项文本旁显示大图标;如果控件足够大,则项显示在多列中。小图标视图模式除显示小图标外,其他方面与大图标视图模式相同。列表视图模式显示小图标,但总是显示在单列中。“Details”视图模式在多列中显示项。
ListView 控件的主要属性是 Items,该属性包含该控件显示的项。SelectedItems 属性包含控件中当前选定项的集合。如果将 MultiSelect 属性设置为 true,则用户可选择多项,例如,同时将若干项拖放到另一个控件中。如果将 CheckBoxes 属性设置为 true,ListView 控件可以显示这些项旁的复选框。
MultiSelect 属性指示用户是否可选择多项
Activation 属性可以确定用户激活列表中的某项时必须执行的操作类型:选项有 Standard、OneClick 和 TwoClick。执行 OneClick 激活时,需要通过一次单击激活该项。执行 TwoClick 激活时,要求用户通过双击激活该项;一次单击可以更改该项的文本颜色。执行 Standard 激活时,要求用户通过双击激活某项,但是该项的外观不会发生更改。
此外,ListView 控件还支持 Windows XP 平台中可用的可视样式和其他功能,包括分组、平铺视图和插入标记。
【TreeView 控件】
使用 Windows 窗体 TreeView 控件,可以为用户显示节点层次结构,就像在 Windows 操作系统的 Windows 资源管理器功能的左窗格中显示文件和文件夹一样。树视图中的各个节点可能包含其他节点,称为“子节点”。您可以按展开或折叠的方式显示父节点或包含子节点的节点。通过将树视图的 CheckBoxes 属性设置为 true,还可以显示在节点旁边带有复选框的树视图。然后,通过将节点的 Checked 属性设置为 true 或 false,可以采用编程方式来选中或清除节点。
TreeView 控件的主要属性包括 Nodes 和 SelectedNode。Nodes 属性包含树视图中的顶级节点列表。SelectedNode 属性设置当前选中的节点。可以在节点旁边显示图标。该控件使用在树视图的 ImageList 属性中命名的 ImageList 中的图像。ImageIndex 属性可以设置树视图中节点的默认图像。
使用TreeView 控件时,一个常见任务是确定单击了哪个节点并相应地予以响应
AfterSelect事件在选定树节点后发生
通过检查 TreeViewEventArgs 类(它包含与事件有关的数据),确定单击了哪个节点
protected void treeView1_AfterSelect (object sender, System.Windows.Forms.TreeViewEventArgs e){
// 检查单击节点的文本属性
MessageBox.Show(e.Node.Text);
}
【CheckedListBox 控件】
Windows 窗体 CheckedListBox 控件扩展了 ListBox 控件。它几乎能完成列表框可以完成的所有任务,并且还可以在列表中的项旁边显示复选标记。两种控件间的其他差异在于,复选列表框只支持 DrawMode.Normal,并且复选列表框只能有一项选中或未选中任何项。注意选定的项在窗体上突出显示,与已选中的项不同。
可以使用“字符串集合编辑器”在运行时为复选列表框添加项,也可以使用 Items 属性在运行时从集合动态地添加项。
【ImageList组件】
Windows 窗体 ImageList 组件用于存储图像,这些图像随后可由控件显示。图像列表使您能够为一致的单个图像目录编写代码。例如,只需更改按钮的 ImageIndex 或 ImageKey 属性,就可旋转 Button 控件显示的图像。还可以使同一个图像列表与多个控件相关联。例如,如果使用 ListView 控件和 TreeView 控件显示同一个文件列表,则当更改图像列表中某个文件的图标时,新图标将同时显示在两个视图中。
可以将图像列表用于任何具有 ImageList 属性的控件,或用于具有 SmallImageList 和 LargeImageList 属性的 ListView 控件。可与图像列表关联的控件包括:ListView、TreeView、ToolBar、TabControl、Button、CheckBox、RadioButton 和 Label 控件。若要使图像列表与一个控件关联,请将该控件的 ImageList 属性设置为 ImageList 组件的名称。
ImageList 组件的主要属性是 Images,它包含关联的控件将要使用的图片。每个单独的图像可通过其索引值或其键值来访问。ColorDepth 属性确定呈现图像时所使用的颜色数量。所有图像都将以同样的大小显示,该大小由 ImageSize 属性设置。较大的图像将缩小至适当的尺寸。
【RichTextBox 控件】
Windows 窗体 RichTextBox 控件用于显示、输入和操作格式化的文本。RichTextBox 控件除了做 TextBox 控件所做的每件事外,还可以显示字体、颜色和链接,从文件加载文本和加载嵌入的图像,以及查找指定的字符。RichTextBox 控件通常用于提供类似字处理应用程序(如 Microsoft Word)的文本操作和显示功能。RichTextBox 控件可以显示滚动条,这一点与 TextBox 控件相同;但是与 TextBox 控件不同的是,RichTextBox 控件的默认设置是水平和垂直滚动条均根据需要显示,并且拥有更多的滚动条设置。
与 TextBox 控件一样,显示的文本由 Text 属性设置。RichTextBox 控件有许多用于设置文本格式的属性。为操作文件,LoadFile 和 SaveFile 方法可以显示和编写包括纯文本、Unicode 纯文本和 RTF 格式 (RTF) 在内的多种文件格式。可能的文件格式在 RichTextBoxStreamType 枚举中列出。可以使用 Find 方法查找文本字符串或特定字符。
也可以将 DetectUrls 属性设置为 true,并编写处理 LinkClicked 事件的代码,从而在 Web 样式的链接中使用 RichTextBox 控件。将 SelectionProtected 属性设置为 true 可以防止用户操作控件中的部分或全部文本。
在 RichTextBox 控件中可以通过调用 Undo 和 Redo 方法撤消和重复大多数编辑操作。CanRedo 方法使您可以确定用户最后一次撤消的操作是否可以重新应用于控件。
【ScrollBar 控件】
ScrollBar 控件使用 Scroll 事件来监视滚动框沿着滚动条的移动情况
Value 属性将按照 LargeChange 属性中设置的值而更改
?当用户按下 PAGE UP 键或 PAGE DOWN 键
?在滚动框的任何一边单击滚动条轨迹时
Value 属性将按照 SmallChange 属性中设置的值而更改
?当用户按下某个箭头键
?单击某个滚动条按钮时
【HScrollBar 控件和 VScrollBar 控件】
Windows 窗体 ScrollBar 控件用于在应用程序或控件中水平或垂直滚动,以方便地在较长的项列表或大量信息中转移。因为滚动条是 Windows 界面的一种常见元素,所以 ScrollBar 控件通常与 ScrollableControl 类的派生控件之外的控件一起使用。同样,许多开发人员在创作自己的用户控件时会选择合并 ScrollBar 控件。
HScrollBar(水平)和 VScrollBar(垂直)控件的操作与其他控件无关,它们有自己的一组事件、属性和方法。ScrollBar 控件与附加到文本框、列表框、组合框或 MDI 窗体的内置滚动条不同(TextBox 控件具有 ScrollBars 属性,用于显示或隐藏附加到控件的滚动条)。
ScrollBar 控件使用 Scroll 事件来监视滚动框(有时称之为滚动块)沿着滚动条的移动情况。使用 Scroll 事件,可以在拖动滚动条时访问滚动条值。
Value 属性(默认情况下为 0)是与滚动框在滚动条中的位置相对应的一个 integer 值。当滚动框的位置值为最小值时,滚动框移到最左端位置(对于水平滚动条),或移到顶端位置(对于垂直滚动条)。当滚动框的位置值为最大值时,滚动框移到最右端位置或底端位置。同理,在值范围的底端和顶端中间的值会使滚动框的前端位于滚动条的中间。
除了可以通过鼠标单击来更改滚动条值以外,用户还可以沿着滚动条将滚动框拖动到任何点。结果值取决于滚动框的位置,但是该值总是在用户设置的 Minimum 属性和 Maximum 属性的范围之内。
当用户按下 Page Up 键或 Page Down 键或者在滚动框的任何一边单击滚动条轨迹时,Value 属性将按照 LargeChange 属性中设置的值而更改。
当用户按下某个箭头键或单击某个滚动条按钮时,Value 属性将按照 SmallChange 属性中设置的值而更改。