Csharp控件大全.ppt_第1页
Csharp控件大全.ppt_第2页
Csharp控件大全.ppt_第3页
Csharp控件大全.ppt_第4页
Csharp控件大全.ppt_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

控件的使用 Zhanghz2006 12 1 本章要点 学习窗体控件的编程 首先介绍如何使用窗体设计器向窗体中添加控件以及如何在窗体设计器中调整控件位置和大小等属性 然后依次介绍各个常用的控件 包括控件所特有的属性和事件 纲要添加控件调整控件控件的分类介绍 为窗体添加控件 在窗体设计器中打开要添加控件的窗体 然后打开 工具箱 面板 如图 在 解决方案资源管理器 中双击相应的窗体节点 比如一个Form1 cs文件 就可以在窗体设计器中显示该窗体 3种方法将 工具箱 中的控件添加到窗体中双击 工具箱 中要使用的控件 此时将会在窗体的默认位置 客户区的左上角 添加默认大小的控件 在 工具箱 中选中一个控件 鼠标指针变成与该控件对应的形状 把鼠标指针移到窗体中要摆放控件的位置 按下鼠标左键并拖动鼠标画出控件大小后 松开鼠标即可在窗体的指定位置绘制指定大小的控件 直接把控件从 工具箱 拖放到窗体中 使用这种方式可以在指定的位置添加默认大小的控件 可以直接使用代码向窗体添加控件 把一个按钮控件btnNew添加到窗体中 ButtonbtnNew newButton 两种类型的控件具有用户界面的控件 会出现在窗体中 并且在运行时可见 没有用户界面的控件 主要用于在后台提供一些功能 在运行时不可见 当在窗体设计器中把它们添加到窗体中时 这些控件将出现在窗体设计器下面的窗格中 如图 在控件的Text属性中使用与号 可以为该控件指定快捷访问键 例如 如果按钮控件btnNew的Text属性值为 新建 N 就可以通过Alt N组合键直接访问该按钮 此时触发Click事件 当显示在控件的标题时 访问键会加上下划线 若要在标题中输入与号 则要使用 的形式 窗体是一种容器控件 其他的容器控件还有分组框控件和面板控件等 在容器控件中可以包含其他控件 这些被包含的控件保存在容器控件的Controls属性中 调整控件 对控件的调整 包括对齐 大小调整和间隔等等 选中要调整的控件 使用 格式 菜单或是快捷菜单中的命令或者工具栏上的格式按钮进行调整 在调整控件的格式时 将按照基准控件对选择的多个控件进行调整 使用Ctrl键或Shift键选择多个控件 也可以拖动鼠标选择一个控件范围 此时最先进入窗体的控件将作为调整的基准控件 被选中的控件中 基准控件周围是白色方框 其他控件周围是黑色方框 如图 1 对控件分层 右键单击要操作的控件 从快捷菜单中选择 置于顶层 或底层 命令或者单击工具栏中的置于顶层 或底层 按钮 则可以把控件置于窗体的最顶层 或底层 也可以在代码中将控件置于窗体顶层或底层btnNew置于顶层 btnNew BringToFront btnNew置于底层 btnNew SendToBack 2 在窗体中定位控件 两种定位方法在窗体设计器中通过拖动控件进行定位通过指定控件的Location属性来定位控件控件的位置相对于包含它的容器控件 单位为像素 在选中控件之后可以使用箭头键微调 更精确地定位控件 在属性窗口中修改控件的Location属性改变控件位置 直接输入控件位置值 X和Y值以逗号隔开 或是展开Location属性节点 分别输入X坐标值和Y坐标值 在代码中设置控件位置btnNew Location newSystem Drawing Point 100 100 btnNew Left 100 btnNew Top 200 3 改变控件大小 在窗体设计器中改变控件大小的方法使用鼠标直接拖动控件大小在属性窗口中改变控件的Size属性值在窗体中选中控件 然后使用Shift 箭头键来微调控件大小在代码中通过Size属性设置控件大小btnNew Size newSystem Drawing Size 100 100 可以使用Bounds属性同时设置控件的位置和大小btnNew Bounds newSystem Drawing Rectangle 10 10 100 100 4 固定控件 使用Anchor属性使控件的位置相对于窗体某一边固定 改变窗体大小时 控件的位置将会随之改变而保持这个相对距离不变 使用属性窗口改变Anchor属性时 单击控件周围的上下左右的某个方框使之变成深灰色 就表示控件相对于窗体这条边的距离固定System Windows Forms命名空间中包含了一个枚举类型AnchorStyles 其中定义了Anchor属性可以组合的16种不同属性值 可以在代码中设置Anchor属性 控件到窗体4条边的距离都保持不变btnNew Anchor AnchorStyles All 控件到窗体底边和左边的距离保持不变btnNew Anchor AnchorStyles Bottom AnchorStyles Left 控件没有固定到任何一边btnNew Anchor AnchorStyles None 控件还可以停靠在窗体的某一边上 通过控件的Dock属性进行设置 使用属性窗口设置Dock属性时会显示一个设置窗口 单击该窗口中的按钮可以设置相应的Dock属性值 这些值在枚举类型System Windows Forms DockStyle中定义 通过代码设置按钮控件btnNew停靠在窗体的顶边上 这时btnNew的顶边和底边自动扩展到窗体顶边大小 并且改变窗体大小时 btnNew的大小会随之改变 btnNew Dock System Windows Forms DockStyle Top 5 设置控件的Tab键顺序 控件的Tab键顺序决定了用户使用Tab键切换时的顺序 默认情况下 控件的Tab键顺序就是控件添加到窗体的中的顺序 选择 视图 Tab键顺序 命令把窗体设计器切换到Tab键顺序选择模式 再次选择该命令可以回到设计模式 在Tab顺序选择模式中 可以单击各个控件把它们的Tab键顺序设置成单击控件的顺序也可以通过属性窗口设置各个控件的TabIndex属性来改变Tab键顺序位于分组框中的控件的TabIndex也按照这个规则来修改 控件的分类介绍 按钮类控件文本类控件逻辑分组控件滚动类控件工具栏和状态栏视图类控件其他控件控件种类繁多 在学习时注意对比和触类旁通 按钮类控件 都从类ButtonBase派生 这个类提供了按钮类控件通用的基本操作 按钮控件单选按钮控件复选框控件 按钮 使用Button类进行封装 包含有属性 方法和简化按钮互用任务的事件 可以在按钮中显示文字或图像 还可以调整按钮控件的显示方式 使用Button类的公开属性控制按钮外观FlatStyle 定义如何绘制控件的边缘 时一个枚举类型 可选值有 Flat 平面的 PopUp 由平面到凸起 Standard 三维边界 System 根据操作系统决定 BackColor 指定控件的背景色 默认为KnownColor Control 这是操作系统为控件定义的默认颜色 ForeColor 指定控件的文字颜色 默认为KnownColor ControlText Text 控制显示在控件中的文字 TextAlign 指定按钮文字的对齐方式 ImageAlign 指定图像的对齐方式 注意可以在属性窗口设置属性 可以在代码中对属性进行设置 例如修改按钮背景色 可以使用代码btnNew BackColor Color Red 按钮事件Click事件 单击按钮或是在按钮具有焦点时按下空格键都将触发Click事件 在设计器中可以通过双击按钮来进入代码编辑器添加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事件 当单选按钮的Checked属性发生变化时 会触发这个事件 可以使用这个事件根据单选按钮的状态变化进行适当的操作 在设计器中双击单选按钮将进入代码编辑器中这个事件的定义部分 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属性 获取用户输入到文本框中的文本 例 stringnewItem newTextBox Text TextLength属性 获取文本框控件中文本的长度 文本框属性 1 Lines属性 对于多行文本框 除了可以使用Text属性获取文本外 还可以使用Lines属性 它返回一个字符串的数组 每个数组元素对应一行文本 注意 在Lines数组中的元素没有必要与文本框控件的物理行相对应 如果允许文本换行 那么无论文本占了多少物理行 在Lines数组中都只是一个元素 可以在属性窗口中使用Lines属性为多行文本框提供初始文本 在属性窗口中选择Lines属性 将显示一个说明为 的小按钮 单击它就会显示 字符串采集编辑器 对话框 在其中可以输入控件文本 ReadOnly属性 当它设置为true时 只能浏览而不能修改文本框中显示的内容 MaxLength属性 设置文本框能输入的最大字符数 文本框属性 2 WordWrap属性 选择每行的文本是可以扩展超出控件边缘 false 或是在控件边界处自动换行 true 默认值为true ScrollBars属性 指定是否使用以及使用怎样的滚动条 属性值必须是枚举类型ScrollBars的值 None Horizontal 水平 Vertical 垂直 Both 如果文本框的WordWrap属性设置为true 则水平滚动条不显示 BorderStyle属性 管理文本框控件的外观 属性值必须是枚举类型BorderStyle的值 None FixedSingle Fixed3D 默认值 文本框属性 3 SelectedText SelectionStart SelectionLength属性 用来获取或设置当前在文本框中选择的文字 看个例子 textBox1 Text 这是一个文本框控件 textBox1 SelectionStart 4 textBox1 SelectionLength 3 stringselection textBox1 SelectedText selection的内容为 文本框 PasswordChar属性 用来指定文本框的屏蔽字符 对用于输入密码或是其他敏感信息的文本框 使用这一属性来设置代替的掩饰字符例如 textBox1 PasswordChar AcceptsReturn AcceptsTab属性 文本框属性 4 通常情况下 不能在文本框中使用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事件 当文本框内容发生改变时将触发这个事件 若另一个控件要根据当前文本框的内容来更新时 这个事件很有用 看个例子 PublicTextBoxForm textBox1 TextChanged newEventHandle text TextChanged privatevoidtextBox TextChanged objectsender System EventArgse label1 Text Contents textBox1 Text 这里 一旦textBox1的内容被更新 label1的值也会被更新 注意 在TextChanged事件的处理方法或是OnTextChanged方法中不要试图修改本文本框的内容 否则将循环触发TextChanged事件 造成死循环 标签控件 使用Label类进行封装 通常用于显示静态文本 比如为其他控件显示描述性信息或根据应用程序的状态显示相应的提示信息 标签控件具有与其他控件相同的许多属性 但是它通常都作为静态控件使用 在程序中一般很少直接对其进行编程 主要有用到的属性有Text属性 设置标签中显示的说明文字Size属性 设置标签大小AutoSize属性 指定标签中的说明文字是否可以动态变化 设置为true时将忽略Size属性的值 BorderStyle属性 设置标签边框 取值与文本框一样 窗体的标签控件有一个不寻常的地方 它从不接收输入焦点 它会将焦点按Tab键的控制次序传递给下一个控件 跟文本框或其他控件相关的标签控件经常被直接放置在相关控件的前面 并提供在表示快捷键的字符前面附加 符号作为说明 可以使用Alt 相应快捷键来选择与标签相关的控件 假设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类来设置 LinkArearange newLinkArea 8 4 8为起始位置 4为长度linkLabel1 LinkArea range 或linkLabel1 LinkArea newSystem Windows Forms LinkArea 8 4 LinkBehavior属性 指定链接的外观 其值必须为枚举类型LinkBehavior的值 AlwaysUnderline 可点击部分总有下划线HoverUnderline 可点击部分在鼠标指针停留到控件上时显示下划线NeverUnderline 没有下划线SystemDefault 服从系统默认设置 默认值 Links属性 保存链接标签中的多个超链接 例如下面代码 linkLabel1 Text 请访问http 202 38 64 10 zhanghz站点或MyPage获取信息 linkLabel1 Links Add 3 28 linkLebel1 Links Add 34 7 http 202 38 64 10 链接标签事件最常用的事件是LinkClicked事件 在点击链接标签中超链接时就触发这一事件 要打开相应这个事件的网页 使用来自System Diagnostics命名空间的Process Start 方法 PrivatevoidlinkLabel1 LinkClicked objectsender LinkLabelLinkClickedEventArgse Process Start 这里Process Start方法将打开浏览器浏览指定URL 在链接标签对象中并没有内建的功能用于了解一个链接是否被访问过 因为对控件的浏览操作实际上是由LinkClicked事件处理器实现的 所以应该自行编写代码来指定链接是否被访问 通过在LinkClicked事件处理器中修改LinkVisited属性为true 这就将根据链接的被访问状态来显示不同颜色 如果不想为访问过的链接标签提供不同的颜色显示 只需要取消对LinkVisited属性的设置即可 列表框控件 用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 stringsinmString listBox1 Items Add s listBox1 EndUpdate SetSelected方法 用来进行选定或取消选定 它的参数为项目索引和表示选择状态的Boolean值 listBox1 SetSelected 0 true 对Items操作的方法Add方法向列表框底部添加项 listBox1 Items Add A Insert方法向指定位置添加项 listBox1 Insert 0 newItem 索引不能小于0 不能大于当前项目数在Sorted属性为true时 Insert方法插入的项不能被正确排序 AddRange方法添加多个项 listBox1 Items AddRange newstring A B 或是listBox1 Items AddRange listBox2 Items Clear方法删除所有项目 listBox1 Items Clear RemoveAt方法删除指定项listBox1 Items RemoveAt index 参数为索引或是listBox1 Items RemoveAt object 参数为对象 将删除集合中符合参数对象的第一个对象 看两个删除的代码ListBox SelectedIndexCollectionindices listBox1 SelectedIndics intselected indices Count 1 不能正确删除 2 使用倒序删除 1 if indices Count 0 foreach intindexinindices listBox1 Items RemoveAt index 2 if indices Count 0 for intn selected 1 n 0 n intindex indices n listBox1 Items RemoveAt index 列表框事件SelectedIndexChanged事件和SelectedValueChanged事件 在列表框中的选择或取消项目时触发这两个事件 一般使用这些事件来触发列表框的再次测试 确定有哪些项在当前被选定 DoubleClick事件 对列表框的项双击时触发这个事件 一般用这个事件来显示一个关于该项信息的提示窗体 组合框控件 使用ComboBox类进行封装 由一个文本框和一个下拉列表组成 可以在文本框中直接输入也可以从下拉列表中选择选项 组合框常用于这样的情况 便于从控件列表框部分的多个选项中选择一个 但不需要占用列表框所使用的空间 对组合框的行为风格可以控制 如列表框是否显示或文本框是否可以编辑 组合框同时兼有列表框和文本框的功能 能使用这两类控件具有的大部分操作 组合框属性Items SelectedIndex SelectedItem等属性 与列表框中所讲述的相同 与列表框不同的是 组合框中的列表不支持多项选择 Text MaxLength等属性 与文本框中所讲述的相同DropDownStyle属性 指定组合框的显示风格 有三个可选值 在枚举类型ComboBoxStyle中定义 DropDown 默认值 可以在文本框中进行编辑并且列表框部分一般隐藏 单击下拉按钮后显示 DropDownList 只能单击下拉按钮显示下拉列表框来进行选择 不能在文本框中编辑 Simple 列表框总是可见 文本框可以编辑 MaxDropDownItems属性 设置下拉列表框中最多能显示的项的数目 DropDownWidth属性 指定组合框下拉部分的宽度的像素数 DroppedDown属性 指定是否显示下拉列表 Height属性 指定简单的组合框的高度 组合框方法BeginUpdate和EndUpdate方法Select和SelectAll方法 用来对文本框中的文字进行选择 comboBox1 Select 1 5 1表示起始位置 5表示长度comboBox1 SelectAll 选中文本框中的所有字符 组合框事件大部分列表框和文本框事件都能在组合框中使用SelectedIndexChanged事件 组合框中选择发生变化时触发这个事件 TextChanged事件 文本框中文字改变时触发这个事件 DropDown事件 显示下拉列表时触发这个事件 可以使用这个事件对下拉列表框中的内容进行处理 如添加删除项等等 SelectionChangeCommitted事件 将更改委托给控件列表框中的一个项目时触发 看个示例 下面代码确定用户在何时在组合框中选定一个项目privatevoidcomboBox1 SelectionChangeCommitted objectsender System EventArgse stringmessage string Format Thenewselectionis 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类封装 与分组框类似 也是一个容器控件 它没有标题 但是可以和滚动条结合使用 如下情况下经常使用面板控件子控件要以可见的方式分开提供不同的BackColor属性使用滚动条以允许多个控件放置在同一个有限空间 面板属性类似GroupBox的属性AutoScroll属性 设置面板滚动条是否可用 默认情况下是禁用falseBorderStyle属性 设置面板边框风格 有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中的变化连续操作其他控件 工具栏和状态栏 工具栏控件通常用于提供访问菜单命令的快捷方式 状态栏控件通常用于显示程序的状态信息 在一个完整的Windows应用程序中 这两种控件必不可少 工具栏控件 使用ToolStrip封装 VS 2003中为ToolBar 可以将一些常用的控件单元作为子项放在工具栏中 通过各个子项与应用程序发生联系 通常出现在窗体的顶部 在工具箱中选择ToolStrip控件放置到设计窗体中 默认状态下在最左侧会有一个下拉按钮 有两种方法添加设置工具栏子项 直接单击下拉按钮在下拉列表中选择需要的子项 然后对该子项进行属性设置 选中工具栏 右击选择属性命令 单击Items后的按钮弹出 项集合编辑器 对话框 在其中选择子项和设置属性 VS 2003的工具栏使用方法不大一样 请参看参考书1的第17章第1小节 工具栏控件的常用属性 ToolStrip的子项类型可以为ToolStripButton ToolStripComboBox ToolStripSplitButton ToolStripLabel ToolStripSeparator ToolStripDropDownButton ToolStripProgressBar和ToolStripTextBox等工具栏控件的各个子项使用与设置与前面见过的基本一致 Separator控件主要提供一个间隔 SplitButton DropDownButton常用的属性是DropDownItems 使用方法 在该控件属性窗口中单击这个属性后带省略号的按钮 弹出 项集合编辑器 在左侧下拉列表中选择合适的子项添加 在右边设置相应项的属性 这里的子项属性有 Name 子项名称 Text 子项显示文本 ToolTipText 将鼠标放在子项上时显示的提示文本 要使用这个属性 必须将工具栏的ShowItemToolTips属性设置为true ImageIndex 子项使用的图标工具栏控件的事件ItemClicked事件 单击工具栏上的一个子项时触发执行 Clicked事件 单击工具栏本身时执行 DoubleClick事件 双击工具栏时执行 演示程序 状态栏控件 使用StatusStrip类封装 VS 2003中为StatusBar 状态栏一般位于窗体的底部 用于显示系统的一些状态 比如大小写情况 日期时间等 在状态栏中可以包含文本 图像 下拉按钮等子项 在状态栏中添加子项的操作类似于工具栏 常用的子项有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和EndUpdateClearGetItemAt方法 返回指定位置 x y 的列表项 列表视图的事件ColumnClick事件 单击列表头时触发这个事件 可以在这个事件的处理过程中编写代码对列表视图进行排序 SelectedIndexChanged事件 对列表视图中项的选择发生改变时触发这个事件 树视图 用TreeView类封装 主要用于显示层次结构的数据信息 一般由项或节点构成 节点还可以包含子节点 可以展开或收起节点 并且每个节点都可以包含标题和图标 添加树视图节点 TreeNode类 单击属性窗口的Nodes属性旁的按钮 打开 TreeNode编辑器 对话框 在其中单击 添加根 按钮添加一个根节点 选中树中已有的一个节点 单击 添加子节点 按钮可以为这个节点添加一个子节点 删除按钮用来删除选择的节点 树视图节点的一些常用属性 见下表 对TreeNode类节点的操作方法Collapse 收起节点Expand或ExpandAll 展开节点GetNodeCount 返回子节点数目Remove 在树视图中删除该节点及其子节点 树视图的方法BeginUpdate和EndUpdateCollaspeAll和ExpandAll 收起或展开树视图的所有节点GetNodeCount 可以返回根节点或所有节点的数目 树视图事件BeforeCollaspe事件 当要收起节点时触发这个事件 AfterCollaspe事件 当节点收起后触发这个事件 BeforeExpand事件 展开一个节点时触发这个事件 AfterExpand事件 节点展开后触发这个事件 BeforeSelect事件 选择一个节点时触发这个事件 AfterSelect事件 节点被选择后触发这个事件 列表视图和树视图的示例程序数据网格 DataGridView 控件 在数据库编程应用中介绍 其他控件 定时器控件日历控件时间选择控件 定时器控件 Timer类封装 主要用于计时 通过计时处理可以实现各种复杂的动作 例如延时 动画等 以可以指定间隔时间来触发事件 定时器控件在运行时不可见 在窗体设计器中在下方显示 定时器常用属性Enable属性 定时器事件是否处于运行状态 默认情况下为false Interval属性 指定定时器控件的时间间隔 单位为毫秒 定时器常用方法Start方法 启动时钟 即把Enable属性设为trueStop方法 停止时钟 把Enable属性设为false 定时器常用事件Tick事件 在时钟处于运行状态并且指定的时间间隔到达时触发这个事件 可以通过捕捉该事件来进行代码操作定时器的属性 方法和事件不是很多 但是在动画制作和定期执行某个操作等方面有着重要的作用 日历控件 MonthCalendar类封装 显示一个日历页面 可以选择一个或多个日期 使用控件顶部的箭头按钮可以调整显示的月份 日历控件的属性MaxSelectionCount属性 单击日历页面的日期就可以在日历控件中选择一个日期 默认情况下最多允许选择7天 可以通过修改这个属性来改变这个天数限定 设置或获取当前所选日期信息的一些属性SelectionStart 一个Dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论