Winform控件

控件

添加控件:利用ToolBox,直接在form.cs[design]中可视的添加

代码添加:

在form.designer.cs中InitializeComponent()中添加

如:this.label1 = new System.Windows.Forms.Label()

在form.cs中的构造函数Form()添加

如:Button btnNew=new Button();

控件分类:

1、

容器类:窗体,分组框控件,面板控件

控件类:不能包含控件的控件

2、

具有用户界面的控件:出现在窗体中,运行时可见

没有用户界面的控件:在后台提供一些功能。出现在窗体设计器的下面

&用于控件中快捷键的设定 &N表示快捷键为ALT+N(如果要输入&。则需要写成&&)

 

控件至于顶层:button.BringToFront();置于底层:button.SendToBack();(举button的例子)

 

定位:在窗体设计器中通过拖动控件进行定位,通过指定控件的Location属性来定位控件。控件的位置相对于包含它的容器,单位为像素。

大小:size属性。

可以使用bounds同时设置位置和大小

Anchor属性:控件的位置相对于窗体某一边固定,改变窗体大小时,控件的位置将会随之改变而保持这个相对距离不变。使用属性窗口改变Anchor属性时,单击控件周围的上下左右的某个方框使之变成深灰色,就表示控件相对于窗体这条边的距离固定。

Dock属性:控件停靠在窗体的某一边上

Tap键顺序:控件的Tab键顺序决定了用户使用Tab键切换时的顺序。默认情况下,控件的Tab键顺序就是控件添加到窗体的中的顺序。可以通过属性窗口设置各个控件的TabIndex属性来改变Tab键顺序位于分组框中的控件的TabIndex也按照这个规则来修改。

 

 

控件分类介绍:

  • 按钮类控件
  • 文本类控件
  • 逻辑分组控件
  • 滚动类控件
  • 工具栏和状态栏
  • 视图类控件
  • 其他控件

     

     

按钮类控件:从类ButtonBase派生,这个类提供了按钮类控件通用的基本操作。包含有属性、方法和简化按钮互用任务的事件。可以在按钮中显示文字或图像,还可以调整按钮控件的显示方式。

公开属性控制按钮外观:

FlatStyle:定义如何绘制控件的边缘,是一个枚举类型,可选值有:Flat、PopUp、Standard、System

BackColor:指定控件的背景色

ForeColor:指定控件的文字颜色

Text:控制显示在控件中的文字

TextAlign:指定按钮文字的对齐方式

公开属性按钮操作:

Enabled:激活(true)或禁用(false)按钮。

Visible:控件是否可见

按钮事件:单击按钮或是在按钮具有焦点时按下空格键都将触发。在设计器中可以通过双击按钮来进入代 码编辑器添加Click事件的处理代码。

把按钮与DialogResult值联系起来。窗体DialogResult属性值可以为OK、Yes、No、Abort、Ignore、Retry、Cancel、None等。当窗体作为对话框使用时,在窗体关闭前这个值应该与窗体联系起来,并且在调用ShowDialog方法时还应该将它作为结果返回。可以使用按钮控件的DialogResult属性来为窗体设置DialogResult属性。当该按钮用于关闭窗体时,DialogResult的值就将通过窗体传递。例如:closeButton.DialogResult = DialogResult.OK;

单选按钮:使用RadioButton类封装,通常用来执行多选一的操作。单选按钮通常分组使用,在一个组中,只能有一个按钮处于选中状态。

单选按钮属性:

Button中讨论的属性

Checked属性。用来确定单选按钮是否被选择

Appearance属性:用来确定单选按钮的显示形式,有两个可能值:Appearance.Button(显示为按钮),Appearance.Normal(正常显示)

单选按钮的常用事件:

CheckedChanged事件:

Click事件:在选中单选按钮的时候触发,要处理这一事件,必须提供一个事件处理器

复选框:CheckBox进行封装。复选框与单选按钮极为相似,只是复选框允许零个或多个选择

复选框属性

RadioButton中介绍的一些属性

Checked属性:复选框可以支持3种状态(增加一种不确定状态)。这需要用到ThreeState属性,默认值为false,设为true将激活第三种状态。

CheckState属性:用来判断或设置复选框状态,有三种可能:Checked,Unchecked,Indeterminate(未被选中也未被清除,且显示禁用复选标记)。复选框处于选中或不确定状态时,Checked属性都为true。当复选框的Appearance属性设置成Button时,不确定状态是平面按钮,选中状态是按下的按钮,未选定状态是凸起按钮。

复选框事件

CheckedChanged事件:改变复选框Checked属性时触发。在设计器中双击相应的复选框将进入代码编辑器中这一事件的定义部分。

CheckStateChanged事件:改变复选框CheckedState属性时触发。在属性窗口中选择这一事件双击进入其代码编辑。

 

 

 

 

 

文本类控件:文本类控件通常用来显示或输入信息,是构成用户界面的最基本控件

文本框控件:用TextBox类进行封装,是按钮控件外最常使用的控件,常用于接收文本输入。TextBox类派生于TextBoxBase类。默认情况下,文本框控件只接受单行文本,此时只能水平改变控件大小而不能垂直改变。通过设置TextBox的Multiline属性为true,可以使用多行文本框。

文本框属性

Text属性,获取用户输入到文本框中的文本。

TextLength属性,获取文本框控件中文本的长度

Lines属性,对于多行文本框,除了可以使用Text属性获取文本外,还可以使用Lines属性,它返回一个字符串的数组,每个数组元素对应一行文本。

注意:在Lines数组中的元素没有必要与文本框控件的物理行相对应。如果允许文本换行,那么无论文本占了多少物理行,在Lines数组中都只是一个元素。可以在属性窗口中使用Lines属性为多行文本框提供初始文本。在属性窗口中选择Lines属性,将显示一个说明为"…"的小按钮。单击它就会显示"字符串采集编辑器"对话框,在其中可以输入控件文本。

ReadOnly属性:当它设置为true时,只能浏览而不能修改文本框中显示的内容。

MaxLength属性:设置文本框能输入的最大字符数

WordWrap属性:选择每行的文本是可以扩展超出控件边缘(false)或是在控件边界处自动换行(true),默认值为true。

ScrollBars属性:指定是否使用以及使用怎样的滚动条。属性值必须是枚举类型ScrollBars的值:None、Horizontal(水平)、Vertical(垂直)、Both。

注意:如果文本框的WordWrap属性设置为true,则水平滚动条不显示

BorderStyle属性:管理文本框控件的外观。属性值必须是枚举类型BorderStyle的值:None、FixedSingle、Fixed3D(默认值)。

SelectedText、SelectionStart、SelectionLength属性:用来获取或设置当前在文本框中选择的文字。例子:

textBox1.Text = "这是一个文本框控件";

    textBox1.SelectionStart = 4;

    textBox1.SelectionLength = 3;

    string selection = textBox1.SelectedText; //selection的内容为"文本框"

PasswordChar属性:用来指定文本框的屏蔽字符。

AcceptsReturn、AcceptsTab属性:通常情况下,不能在文本框中使用Enter键换行或是Tab键输入制表符,这两个键的默认行为是触发窗体的AcceptButton属性的Click事件和切换输入焦点。例子:

AcceptsReturn属性,设置为true则在指定的控件中按下Enter键将会在其中新建一行文本;如果为false,则要按下Ctrl + Enter才能实现上述功能,如果只按下Enter将是激活窗体的默认按钮。

AcceptsTab属性,设置为true则在指定的控件中按下Tab键时会在其中输入一个制表符;如果为false,则要使用Ctrl + Tab组合键来实现上述功能,单独按下Tab键只是切换焦点。

注意:如果文本框不支持多行输入,则这两个属性无效。

文本框的方法

AppendText:向文本框中附加文字

Clear:清除文本框中的所有文字

ClearUndo:清除有关撤销操作的信息

Copy:把文本框中的当前选择文字复制到剪贴板

Cut:把文本框中的当前选择文字移动到剪贴板

Paste:使用剪贴板中的内容替换文本框中当前选择的内容

Select:在文本框中选择指定范围的文字

SelectAll:选择文本框中的所有内容

Undo:撤销文本框中的最后一次修改操作

文本框的事件

TextChanged事件:在TextChanged事件的处理方法或是OnTextChanged方法中不要试图修改本文本框的内容,否则将循环触发TextChanged事件,造成死循环。

标签控件:使用Label类进行封装,通常用于显示静态文本,比如为其他控件显示描述性信息或根据应用程序的状态显示相应的提示信息。

标签的属性:

Text属性:

Size属性

AutoSize属性:

BorderStyle属性:

注意:窗体的标签控件有一个不寻常的地方——它从不接收输入焦点。它会将焦点按Tab键的控制次序传递给下一个控件。假设textBox1与标签label1相关,label1.Text ="输入名字(&N):";那么按下Alt + N将焦点切换到textBox1。一般不需要对标签进行事件处理

连接标签:LinkLabel类进行封装,它从Label类派生而来,具有标签控件的所有属性、方法和事件。它的外观和操作方式都和网页中的超链接类似,常用于提供到相关网页的链接,或者作为使用网页类用户界面的窗体的浏览控件。

链接标签属性:

ActiveLinkColor:用于指定链接在被单击的过程中的颜色,默认为Red。

DisabledLinkColor:用于指定链接被禁用时的颜色,把控件的Enabled属性设置为false即可禁用链接

LinkColor:用于指定链接在普通状态下(被点击或访问前)的颜色,默认为Blue。

VisitedLinkColor:用于指定访问过的链接的颜色,访问过的链接通过LinkVisited属性指定,默认为Purple。

LinkArea属性:默认情况下,链接标签的Text属性中的内容都被当作超级链接,整个控件是可单击的。可以通过LinkArea属性来定义Text中的部分内容为超链接,使用LinkArea类来设置。例如:

LinkArea range = new LinkArea(8,4); //8为起始位置,4为长度

linkLabel1.LinkArea = range;

LinkBehavior属性,指定链接的外观。

Links属性:保存链接标签中的多个超链接。例如:

linkLabel1.Text = "请访问http://202.38.64.10/~zhanghz站点或My Page获取信息";

    linkLabel1.Links.Add(3,28);

    linkLebel1.Links.Add(34, 7, "http://202.38.64.10");

链接标签事件:最常用的事件是LinkClicked事件,在点击链接标签中超链接时就触发这一事件。Process.Star(string url);

注意:在链接标签对象中并没有内建的功能用于了解一个链接是否被访问过。因为对控件的浏览操作实际上是由LinkClicked事件处理器实现的,所以应该自行编写代码来指定链接是否被访问。通过在LinkClicked事件处理器中修改LinkVisited属性为true,这就将根据链接的被访问状态来显示不同颜色

列表框控件:ListBox类封装,通常用于显示供选择的选项。

列表框属性:

Items属性:

MultiColumn属性:多列显示

ColumnWidth属性

SelectionMode属性:属性值必须为枚举类型SelectionMode中定义的值.

MultiExtended:允许一次选择多项并使用Shift和Ctrl键来帮助选择。

MultiSimple:允许一次选择多项,但只能通过单击来选择。

None:不能在列表框中选择。One:一次只选择一项(默认)。

SelectedIndex属性,在列表框只允许选择一项时用来或许当前所选择项的索引。没有选中的项时,属性返回一个-1。

SelectedIndices属性,在列表框允许选择多项时用来获取当前所有选定项的索引集,这是一个SelectedIndexCollection类实例。

SelectedItem属性,在列表框只允许选择一项时用来获取当前所选择项。SelectedItems属性,在列表框允许选择多项时用来获取当前选择的多个项的集合,这是一个SelectedObjectCollection类实例

Sorted属性:指定列表框是否可以对它包含的项自动排序

TopIndex属性:设置或返回列表框中顶端的可见项。

列表框的方法:

防止在更新列表框时重新绘制的方法:BeginUpdate和EndUpdate。将修改操作放在这两个方法之间,在所有修改完成后来刷新列表框。例如:

listBox1.BeginUpdate();

     foreach(string s in mString)

         { listBox1.Items.Add(s); }

     listBox1.EndUpdate();

etSelected方法,用来进行选定或取消选定,它的参数为项目索引和表示选择状态的Boolean值。listBox1.SetSelected(0, true);

对Items操作的方法:

Add方法向列表框底部添加项。listBox1.Items.Add("A");

Insert方法向指定位置添加项。listBox1.Insert(0, newItem);在Sorted属性为true时,Insert方法插入的项不能被正确排序。

Clear方法删除所有项目。listBox1.Items.Clear();

RemoveAt方法删除指定项:参数为索引或者object。参数为object时,将删除集合中符合参数对象的第一个对象

列表框事件:

SelectedIndexChanged事件和SelectedValueChanged事件。

DoubleClick事件:一般用这个事件来显示一个关于该项信息的提示窗体。

 

组合框控件:使用ComboBox类进行封装,由一个文本框和一个下拉列表组成,可以在文本框中直接输入也可以从下拉列表中选择选项。

组合框属性:

Items、SelectedIndex、SelectedItem等与列表框中所讲述的相同。

Text、MaxLength等属性,与文本框中所讲述的相同

DropDownStyle属性,指定组合框的显示风格。DropDown、DropDownList(文本框不可以编辑)、Simple(文本框可以编辑)

MaxDropDownItems属性,设置下拉列表框中最多能显示的项的数目。

DropDownWidth属性,指定组合框下拉部分的宽度的像素数。

DroppedDown属性,指定是否显示下拉列表。

Height属性,指定简单的组合框的高度。

组合框方法

BeginUpdate和EndUpdate方法

Select和SelectAll方法,用来对文本框中的文字进行选择。

组合框事件

大部分列表框和文本框事件都能在组合框中使用。如:SelectedIndexChanged事件TextChanged事件

DropDown事件,显示下拉列表时触发这个事件。可以使用这个事件对下拉列表框中的内容进行处理,如添加删除项等等。

SelectionChangeCommitted事件:将更改委托给控件列表框中的一个项目时触发。例子:

private void comboBox1_SelectionChangeCommitted(object sender, System.EventArgs e)

{

    string message = string.Format("The new selection is {0}",                 comboBox1.SelectedItem.ToString());

    MessageBox.Show(message);

}

 

 

 

 

逻辑分组控件:这类控件通常用于将窗体中的控件进行逻辑上的分组,以使用户界面更具有条理性。其中一些控件是类似与窗体的容器,比如面板控件。

  • 分割条控件
  • 分组框控件
  • 面板控件
  • 选项卡控件

分割条控件:使用Splitter类封装,主要用于在运行时调整停靠控件的大小,通过它可以实现分割窗体的功能使用分割条控件,首先把一个控件停靠在容器控件的某一边上,然后把分割条控件停靠在相同的边上。运行时,把鼠标指针移到分割条控件上,会变为调整大小的形状,此时拖动分割条就可以调整控件大小。

注意:控件添加顺序很重要,分割条只能改变在它之前添加的一个控件,而且分割条和将被改变大小的控件必须停靠在容器的同一边。

使用BorderStyle属性设置分割条的边框,使用SplitPosition属性改变分割条的位置。

通常不处理分割条事件。

分组框控件:使用GroupBox类封装,它是一个容器控件,可以包含其他控件,用于对控件进行逻辑分组。在窗体设计器中,分组框控件中的控件可以作为一个整体进行操作。

分组框属性

Text属性:为分组框设置标题

BackColor属性:设置分组框背景颜色

BackgroundImage属性,设置分组框背景图像

TabStop属性,分组框一般不接收焦点,它将焦点传递给其包含控件中的第一个项;可以设置这个属性来指示分组框是否接收焦点。

AutoSize属性,设置分组框是否可以根据其内容调整大小。

AutoSizeMode属性,获取或设置启用 AutoSize 属性时分组框的行为方式。属性值为 AutoSizeMode枚举值:GrowAndShrink,根据内容增大或缩小;GrowOnly(默认),可以根据其内容任意增大,但不会缩小至小于它的 Size 属性值 。

Controls属性,分组框中包含的控件的集合。可以使用这个属性的Add,Clear等方法。

分组框事件

AutoSizeChanged事件,在AutoSize属性发生改变时触发。

Click和DoubleClick事件。

TabStopChanged事件,在TabStops属性改变时触发。

KeyUp/KeyPress/KeyDowm事件,当分组框拥有焦点同时用户松开/按下某个键时触发。

面板控件:Panel类封装,与分组框类似,也是一个容器控件。它没有标题,但是可以和滚动条结合使用。

如下情况下经常使用面板控件

1、子控件要以可见的方式分开

2、提供不同的BackColor属性

3、使用滚动条以允许多个控件放置在同一个有限空间。

面板属性

类似GroupBox的属性

AutoScroll属性,设置面板滚动条是否可用,默认情况下是禁用false

BorderStyle属性,设置面板边框风格,有None(默认),FixedSingle,Fixed3D三种。

BackColor、BackgroundImage属性

选项卡控件:使用TabControl类封装。在这类控件中,通常在上部有一些标签供选择,每个标签对应一个选项卡页面TabPage。选中一个标签就会显示相应的页面而隐藏其他页面。通过这个方式,可以把大量的控件放在多个页面中,通过选项卡标签迅速切换。一个很常见的例子是Windows系统的"显示属性"对话框。

选项卡属性

TabPages属性,这是一个选项卡页面的集合,可以通过它对选项卡的标签项进行管理。在属性窗口中单击TabPages属性右边的按钮,显示"TabPage集合编辑器"对话框,通过它来添加删除选项卡页面和设置页面属性。如图。要为添加后的特定页面添加控件,通过选项卡控件的标签切换到相应页面,再选中该页面,然后把控件拖动到页面中。

Alignment属性,指定选项卡的标签位于控件的什么位置,是一个TabAlignment枚举类型,有Top (默认),Bottom,Left,Right四个值。

Appearance属性,指定标签的外观,有三种风格:Buttons、FlatButtons、Normal(默认)。

只有当标签位于顶部时,才可以设置FlatButtons风格;位于其他位置时,将显示为Buttons。

MultiLine属性,指定是否可以显示多行标签。默认情况为单行显示,在标签超出选项卡可视范围时自动使用箭头按钮来滚动标签。当把标签定位于选项卡的左边或右边时,MultiLine属性自动为true。

ItemSize属性,指定标签的大小。

SizeMode属性,指定标签是否自动调整大小来填充标签行。枚举类型TabSizeMode定义了三种取值。Normal:根据每个标签内容调整标签的宽度Fixed:所有标签宽度相同

FillToRight:调整标签宽度,使其填充标签行(只有在多行标签的情况下进行调整)

TabCount属性,指定控件中所包含的标签的数量。

SelectedIndex属性,当前所选中标签的索引。若没有选中项,返回-1。

SelectedTab属性,当前所选中标签的引用。若没有选中项,返回null。

管理TabPages属性的方法

可以提供索引访问tabControl1.TabPages[0].Text = " 背景 ";

添加TabPage对象:Add或者AddRange方法。

删除TabPage对象:Remove方法(参数为TabPage引用)或RemoveAt方法(参数为索引值)

清除所有的TabPage对象:Clear方法。

选项卡的事件:

SelectedIndexChanged事件:改变当前选择的标签时触发这个事件可以在这个事件的处理中根据程序状态来激活或禁止相应页面的某些控件。

 

 

 

滚动类控件:

  • 滚动条控件
  • 进度条控件
  • 跟踪条控件

 

滚动条控件:用ScrollBar基类封装,使用时有两类:水平滚动条HScrollBar和垂直滚动条VScrollBar,都派生于ScrollBar类。多数时候不用明确地创建滚动条,许多Windows窗体都支持自动滚动,它们都派生于ScrollableControl类,这个类为滚动条提供内建支持,允许以设置属性的方式简单地完成滚动条功能。

滚动条属性

Value属性,指定滚动条中滑块的位置。

Minimum属性,指定Value属性的最小值。

Maximum属性,指定Value属性的最大值。

SmallChange属性,设置在滚动条端点的某个箭头上每单击一次鼠标,Value属性减少或增加的量。

LargeChange属性,设置在滚动条端点和滑块之间每单击一次鼠标,Value属性减少或增加的量。

滚动条事件

ValueChanged事件和Scroll事件,通过捕捉该事件来对滚动条的操作进行相应动作。

 

进度条控件:使用ProgressBar类封装,使用矩形方块从左到右显示某一过程的进度情况,提供一个与任务状态相关的可视反馈,通常用于有一定时间的任务。

进度条属性和方法

Maximum属性,读取或设置进度条的最大计数值。默认为100。

Minimum属性,读取或设置进度条的最小计数值。默认为0。

Value属性,读取或设置进度条的当前计数值。

Step属性,调用PerformStep方法时增加进度条的幅度值。

PerformStep方法,用Step属性指定的数量修改控件的值。

Increment方法,用这个方法参数指定的数量修改控件的值。

 

跟踪条控件:用TrackBar类封装,可用于制作仿真滑杆。在许多视频软件中表示进程的滑杆就是用这一控件产生的。

跟踪条事件

ValueChanged事件,在滑杆移动时进行检测

Scroll事件,可以根据TrackBar中的变化连续操作其他控件。

跟踪条属性

LargeChange

设置按下PageUpPageDown或者单击滑杆两侧时滑杆移动的点数

SmallChange

设置按下左右箭头时滑杆移动的点数

Maximum

读取或设置最后点的位置值

Minimum

读取或设置第一点的位置值

Orientation

设置滑杆时水平显示还是垂直显示

TickStyle

设置控件上点号的样式(滑杆上方显示,下方显示,同时显示或不显示)

TickFrequency

设置控件上显示的点号的数目

Value

读取或设置滑杆的当前值

 

工具栏和状态栏:工具栏控件通常用于提供访问菜单命令的快捷方式,状态栏控件通常用于显示程序的状态信息。在一个完整的Windows应用程序中,这两种控件必不可少。使用ToolStrip封装。可以将一些常用的控件单元作为子项放在工具栏中,通过各个子项与应用程序发生联系。通常出现在窗体的顶部。

工具栏属性:

BackgroundImage

设置背景图片

BackgroundImageLayout

设置背景图片的显示对齐方式

Items

设置工具栏上所显示的子项

TabIndex

控件名相同时,用来产生一个数组标识号

ShowItemToolTips

设置是否显示工具栏子项上的提示文本

Text

设置文本显示内容

TextDirection

设置文本显示方向

ContextMenuStrip

设置工具栏所指向的弹出菜单

AllowItemReorder

是否允许改变子项在工具栏中的顺序。

ToolStrip 的子项类型可以为 ToolStripButton、ToolStripComboBox、ToolStripSplitButton、ToolStripLabel、ToolStripSeparator、ToolStripDropDownButton、ToolStripProgressBar 和 ToolStripTextBox等

工具栏控件的各个子项使用与设置与前面见过的基本一致。Separator控件主要提供一个间隔;SplitButton、DropDownButton常用的属性是DropDownItems,使用方法:在该控件属性窗口中单击这个属性后带省略号的按钮,弹出"项集合编辑器",在左侧下拉列表中选择合适的子项添加,在右边设置相应项的属性。

子项属性

Name:子项名称;

Text:子项显示文本;

ToolTipText:将鼠标放在子项上时显示的提示文本。要使用这个属性,必须将工具栏的ShowItemToolTips属性设置为true;

ImageIndex:子项使用的图标

工具栏控件的事件

ItemClicked事件,单击工具栏上的一个子项时触发执行。

Clicked事件,单击工具栏本身时执行。

DoubleClick事件,双击工具栏时执行。

 

状态栏控件:使用StatusStrip类封装状态栏一般位于窗体的底部,用于显示系统的一些状态,比如大小写情况、日期时间等。在状态栏中可以包含文本、图像、下拉按钮等子项。在状态栏中添加子项的操作类似于工具栏,常用的子项有StatusLabel、SplitButton、DropDownButton和ProgressBar等

 

 

 

 

视图控件:

  • 列表视图
    • 以列表的形式显示信息
  • 树视图
    • 用于显示层次结构的信息
  • 数据网格
    • 用于显示数据库数据信息

       

列表视图:用ListView类封装,与列表框类似都是显示一些项的列表的控件,但功能更强大。列表视图中可以使用4中不同方式显示列表项:大图标、小图标、列表和详细信息模式,可以在应用程序中选择使用任何一种或是所有的方式。

列表视图属性

View属性,指定列表视图的显示模式,属性值在枚举类型View中指定

LargeIcon,显示大图标,并在图标的下面显示标题。

SmallIcon,显示小图标,并在图标的右边显示标题。

List,每项包含一个小图标和一个标题,并使用列来组织列表项,但每列都没有表头。

Details,使用报表的形式显示列表项,每项占一行。最左边的一列显示该项的小图标和标题,其他列显示该项的子项。这种方式还可以包含一个表头,显示每列的标题,可以在运行时通过表头来改变列的宽度。

HeaderStyle属性。在详细信息模式下,列表视图会显示表头。使用这个属性来设置表头的不同风格,取值由枚举类型ColumnHeaderStyle设定Clickable,显示表头,并且它可以响应单击事件。Nonclickable,显示表头,但它不响应单击事件。None,不显示表头。

LargeImageList属性和SmallImageList属性在大图标模式下,显示LargeImageList中的图像列表;在其他三个模式下,显示SmallImageList中的图像列表。

MultiSelect属性,设置列表视图是否可以选择多项。默认为只能选择一项。

Sorting属性,指定是否对列表项进行排序。

Scrollable属性,指定是否显示滚动条。

为列表视图添加列表头和列表项

添加列表头(ColumnHeader类)

在属性窗口中单击Columns属性旁带省略号的按钮,打开"ColumnHeader集合编辑器"对话框。单击其中的"添加"按钮添加一个新的列表头,并在右边可以设置它的属性:Name设置表头名称,Text设置表头标题,Width属性设置列宽度,TextAlign属性设置列的对齐方式等等。使用代码添加的例子

listView1.Column.Add("Drive",100, HorizontalAlignment.Left);

其中参数分别表示列名称,列宽度和列对齐方式。

添加列表项(ListItem类):单击列表视图属性窗口中Items属性旁的按钮,打开"ListViewItem集合编辑器"对话框。类似添加列表头的操作添加列表项。其中ImageIndex设置列表项对应的图像索引,Text设置列表项的标题。在包含多列的情况下,要为列表项添加子项。单击对话框中SubItems属性旁的按钮,打开"ListViewSubItem集合编辑器"对话框,在其中添加子项。其中第一个子项的标题就是列表项的标题。使用代码添加的例子

ListView1.Items.Add( listViewItem1 );

其中listViewItem1表示一个列表项对象实例。

Items属性,包含列表视图中的所有项。可以对其使用索引访问,得到其中的单个项。

每个列表项具有SubItems属性来访问它的各个子项。比如,listView1.Items[0].SubItems[0]。

在插入列表项时,列表项本身对应列表视图的第一列,它的子项对应视图的其他各列。除了详细信息模式外,其他的显示模式都只显示第一列。

SelectedIndices属性和SelectedItems属性,获取当前选择的项。

LabelEdit属性,设置在运行时是否可以改变列表项的标题。

列表视图的方法

BeginUpdate和EndUpdate

Clear

GetItemAt方法,返回指定位置(x,y)的列表项。

列表视图的事件

ColumnClick事件,单击列表头时触发这个事件。可以在这个事件的处理过程中编写代码对列表视图进行排序。

SelectedIndexChanged事件,对列表视图中项的选择发生改变时触发这个事件。

 

树视图:用TreeView类封装,主要用于显示层次结构的数据信息。一般由项或节点构成,节点还可以包含子节点,可以展开或收起节点,并且每个节点都可以包含标题和图标。

添加树视图节点(TreeNode类):单击属性窗口的Nodes属性旁的按钮,打开"TreeNode编辑器"对话框。在其中单击"添加根"按钮添加一个根节点;选中树中已有的一个节点,单击"添加子节点"按钮可以为这个节点添加一个子节点;删除按钮用来删除选择的节点。

树视图节点的一些常用属性(见下表)

 

 

FirstNode

返回该节点的第一个节点

FullPath

返回从根节点到该节点的完整路径

Index

返回该节点在其父节点中的索引

IsExpanded

指定该节点是否处于展开状态

IsSelected

指定该节点是否处于选择状态

IsVisible

指定该节点是否可见

LastNode

返回该节点最后一个子节点

NextNode

返回该节点的下一个兄弟节点

Nodes

该节点的所有子节点的集合

Parent

返回该节点的父节点

PreNode

返回该节点的前一个兄弟节点

Text

指定该节点的标题

TreeView

返回包含该节点的树视图

对TreeNode类节点的操作方法

1、Collapse:收起节点

2、Expand或ExpandAll:展开节点

3、GetNodeCount:返回子节点数目

4、Remove:在树视图中删除该节点及其子节点

树视图的方法

BeginUpdate和EndUpdate

CollaspeAll和ExpandAll:收起或展开树视图的所有节点

GetNodeCount:可以返回根节点或所有节点的数目。

树视图事件

BeforeCollaspe事件,当要收起节点时触发这个事件。

AfterCollaspe事件,当节点收起后触发这个事件。

BeforeExpand事件,展开一个节点时触发这个事件。

AfterExpand事件,节点展开后触发这个事件。

BeforeSelect事件,选择一个节点时触发这个事件。

AfterSelect事件,节点被选择后触发这个事件。

 

 

 

 

 

 

 

 

其他控件:

  • 定时器控件
  • 日历控件
  • 时间选择控件

 

定时器控件Timer类封装,主要用于计时。通过计时处理可以实现各种复杂的动作,例如延时、动画等,以可以指定间隔时间来触发事件。定时器控件在运行时不可见,在窗体设计器中在下方显示。

定时器常用属性

Enable属性,定时器事件是否处于运行状态。默认情况下为false。

Interval属性,指定定时器控件的时间间隔,单位为毫秒。

定时器常用方法

Start方法,启动时钟,即把Enable属性设为true

Stop方法,停止时钟,把Enable属性设为false

定时器常用事件

Tick事件,在时钟处于运行状态并且指定的时间间隔到达时触发这个事件。可以通过捕捉该事件来进行代码操作

 

日历控件:MonthCalendar类封装,显示一个日历页面,可以选择一个或多个日期。使用控件顶部的箭头按钮可以调整显示的月份。

日历控件的属性

MaxSelectionCount属性:单击日历页面的日期就可以在日历控件中选择一个日期,默认情况下最多允许选择7天,可以通过修改这个属性来改变这个天数限定。设置或获取当前所选日期信息的一些属性

SelectionStart:一个DateTime值,指定第一个选择的日期

SelectionRange:一个SelectionRange对象,代表控件中所选择的日期

SelectionEnd:一个DateTime值,指定最后一个选择的日期

SelectionRange类用于模拟开始日期和结束日期之间的关系,它具有两个属性

Start,一个DateTime值,代表范围内的第一天;

End,一个DateTime值,代表范围内的最后一天。

控制日历控件允许的时间日期的属性

MinDate,最早的有效日期

MaxDate,最晚的有效日期

下面代码将日历控件限制在两周时间,不允许滚动到其他月份,也不允许选择两周外的日期

monthCalendar1.MinDate = DateTime.Now;

monthCalendar1.MaxDate= DateTime.Now.AddDays(14.0);

CalendarDimensions属性,设置日历网格的大小。这是作为一个Size值传递的,比如monthCalendar1.CalendarDimensions =new Size(2,3);

    创建一个日历,以3行2列的格式显示月份。

ShowToday属性,指定日期是否可以显示在日历的底部,默认值为true。

ShowTodayCircle属性,指定是否在当前日期周围画一个圈,默认为true。

TodayDate属性,设置控件显示的日期,默认情况下显示系统日期。

TodayDateSet属性,判定是否设置了TodayDate日期。如果是则返回属性值为true。

FirstDayOfWeek属性,指定日历中显示的每周的第一天是星期几。使用Day枚举值,Default(默认,显示星期天为第一天)、Sunday~Saturday。

ShowWeekNumbers属性,指定是否在日历中显示周数,默认为false。

 

时间选择控件DateTimePicker类封装,在一个类似于下拉组合框控件的文本框中显示当前日期。与日历控件不同的是,时间选择控件一次只显示一个月。

时间选择控件属性

Value属性,是一个DateTime值,指定控件所显示的日期。Value属性具有一些只读特性,可用于获取时间和日期单元Value.Year, Month, Day, DayOfWeek, Hour, Minute, Second等

控制时间选择控件外观的两个属性

ShowCheckBox属性,指定是否在这个控件中显示一个复选框。

ShowUpDown属性,指定是否用一个可以滚动时间和日期的各个单元的Up-Down控件代替向下箭头。

Format属性,控制日期时间显示格式。取值由枚举类型DateTimePickerFormat指定。

Long,长格式显示(默认)。如,星期三,11月27日,2006年

Short,短格式显示。如,11/27/2006

Time,标准格式显示时间。如,10:00:00 AM。这个格式将ShowUpDown属性设为true(这个属性为false时,可以修改的时日期而不是时间)。

Custom,用CustomFormat属性指定的自定义格式显示日期和时间。

CustomFormat属性,指定日期和时间在控件的本本部分显示的方式,是一个字符串。

下面代码设置时间选择控件,用自定义格式显示时间日期

     dateTimePicker1.Format = DateTimePickerFormat.Custom;

     dateTimePicker1.CustomFormat ="HH:mm:ss MMMM d, yyyy";

 

 

posted @ 2011-09-19 10:38  x喜德盛  阅读(1483)  评论(0编辑  收藏  举报