1.视图控件

1.1 使用列表视图控件(ListView)

该控件用列表的形式显示一租数据,每条数据作为一项,用户可以选择其中的一项或多项。

例如,Windows 资源管理器右边的面板就是一个列表视图,资源管理器的列表视图主要显示选项有缩略图、平铺、图标、列表详细信息。这些对于列表视图空控件的 View(视图)属性各个值。

View属性的显示模式

• LargeIcon (大图标):每条数据都用一个带有文本的大图标显示。

• SmallIcon(小图标) :每条数据都用一个带有文本的小图标显示。

• List (列表):提供 ListItems 视图。

• Details(详细列表) :每条数据由多个字段组成,每个字段占一列。

列表是常见且功能强大的控件,通常用来显示对数据库的查询结果。

创建一个 Windows  窗体程序,从工具箱中添加 ListView 控件和 ImageList 控件到窗体中。在 属性 窗口选择视图列表框的 SmallImageList 属性,从下拉列表框中选择 ImageList 附加到控件上。

列表视图控件允许链接到两个 ImageList  控件。一个用于大图像(32×32像素)通过 LargeImageList 属性设置,一个用小图标(16×16像素)通过 SmallImageList 属性设置。ImageList  中 ImageSize  属性默认是(16×16)的小图标。

将 View 属性改为 Details 时,控件顶部将出现一个新的表头。表头的内容由 Columns 集合中所定义的列决定。

在视图控件中创建列

(1)选中列表视图控件后,在 属性 窗口中选择 View 属性,从下拉列表框中选择 Details 项,然后选择 Columns 属性,单击后面的 生成 按钮。将显示 ColumnsHeader 集合编辑器 窗口。

(2)单击 添加 按钮,创建一个新的表头(默认显示为columnsHeader 1),并将其  Text 属性改为 Name。

(3)再单击 添加 按钮,创建第二列,将其 Text 属性改为 Telephone。单击 确定 按钮,保存设置,列表框有两个命名的列。如图二。

(4)在 列表视图 属性 窗口中选择 Items 属性,然后单击出现的 生成  按钮 将显示 ListViewItems集合编辑器 对话框。单击 添加 按钮出现一个新项,将其  Text  属性改为张三

(5)打开 ImageKey 属性的下拉列表。注意列表中包含了所链接的图片列表框控件中的图片。在 ListViewItem集合编辑器 对话框中,选择 SubItems 属性,然后单击出现的 生成 按钮,将弹出 ListViewItem 集合编辑器 对话框

(6)单击 添加 按钮 创建一个新的子元素,并将其 Text 设为 12345678.单击确定 按钮 返回到上一个页面,再点击确定 关闭编辑器。然后按下F5 运行项目,其效果如图。

在 ListViewItem 编辑器对话框中,元素的 Text  属性决定了元素在列表视图框中所显示的文本。如果 View 属性设置为 Details 且定义了多列,则 Text   属性值出现在第一列。之后的值由 SubItems  集合决定。

1.2 树视图控件(TreeView)

该控件可以为用户显示节点层次结构,就像在 windows 操作系统的 windows  资源管理器功能的左窗格中现实的文件和文件夹一样,树视图中有个节点(Nodes)可以包含其他节点,把这些节点称为“子节点”,同样,“子节点”也可以有自己的“子节点”,可以让所有节点以复选框的形式显示,只需要设置树视图的 CheckBoxes 属性即可。

TreeView 控件的属性:

• CheckBoxes :控制节点旁是否显示复选框,默认不显示。

• ImageIndex :用来设置树视图中节点前的默认图像。

• ImageList :所使用的图像对象的图片列表框

• LabelEdit :是否可以对显示的节点文本进行编辑,默认不可编辑。

• Nodes :包含树视图中第一级的节点列表,就像视图列表框(ListView)中的元素存储在 Items 集合中一样。

• SelectedNode :表示当前选中的树节点,一般在编程中常用。

• Dock :定义要绑定容器的控件边框。

树视图最常用的事件是 AfterSelect,该事件发生在选择树视图中的节点后,树视图控件有很多属性、事件和列表视图控件类似。

创建一个窗体程序

(1)建好程序后在窗体中加一个 TreeView 控件,在属性窗口中设置控件的 Dock 属性为Left,表示设置 TreeView 控件在窗体的左边停靠,高度随窗体改变而改变。

(2)在窗体上添加一个文本框,设置 Multiline 属性为 True,表示文本框可以显示多行,设置Dock 属性为 Fall,表示文本框将占满窗体剩余空间,使用文本框的目的是显示用户所选的文件夹名。

(3)在窗体加载事件中显示本地磁盘,并且可以查看所有文件。

代码19到23行是窗体加载事件,其中第21行定义“我的电脑”节点作为树的总结点。代码第49行到53行是节点的选择事件,其中,在第51行调用自定义方法 TreeViewShow(),显示子文件夹。第52行提示用户选择节点文件夹信息。运行程序,结果

要删除节点,调用Nodes 集合的 Remove() 方法。Remove()方法接受一个有效的节点作为参数,因此必须指定要删除哪个节点。删除当前选中的节点

treeView1.Nodes.Remove(treeView1.SelectedNode);  //删除当前选中的节点

如果在没有选择节点的情况下调用此语句,那么将会产生错误,因为如果对象变量没有引用对象,其等价于关键字 Nothing。这样,可以在调用前加个判断语句。

if(!(treeView1.SelectedNode==null))
    {
         treeView1.Nodes.Remove(treeView1.SelectedNode);

}

删除父节点的同时,将会删除其下所有子节点。要清除树视图中的所有节点,调用 Nodes 集合的 Clear()方法即可。

treeView1.Nodes.Clear();

2.自定义控件

2.1.自定义控件概述

Windows 窗体支持3中方法开发的自定义控件,即从 Windows  窗体控件继承、从 UserControl 继承和从 Control 类继承。

• 从 Windows  窗体控件继承:开发人员可以从现有的Windows 窗体控件继承出新的控件,保留了 Windows 窗体控件的所有功能,然后根据实际的需要来添加自定义属性、方法或事件来扩展这些功能。

• 从 UserControl 类继承:UserControl 是用户控件,又是被称作复合控件。当需要将若干个控件的功能合成一个新控件时,可以 UserControl 类继承 。可以从 Visual Studio 的新建项目对话框中选择 “”Windows  控件库“”进行创建。

• 从 Control 类继承:所有的控件类都继承 Control 类。当然,编程人员也可以从 Control 类继承,创建一个新控件。需要注意的是 ,Control 类提供了控件所需的所有基本功能,但不提供控件特定的功能。

2.2 创建自定义控件

(1)创建一个新的项目,该项目类型为“Windows  窗体控件库”,将其命名为 CustomControlDemo 。

(2)创建完项目后,会自动生成一个 UserControl1.cs 的自定义控件,即控件设计器。

(3)在其设计视图下,添加两个Lable 控件、两个TextBox 控件和一个 Button 按钮控件,5个按钮属性如下:

控件 属性
Lable1 Name lblUser
  Text 用户名:
Lable2 Name lblpwd
  Text 密码:
TextBox 1 Name txtUser
TextBox 2 Name txtpwd
Button Name btnOK
  Text 登陆
     

双击 Button 按钮添加事件

“生成”命令,完成该控制项目的编译,再创建一个 Windows 项目,将项目的名称命名为 UserControlTest ,用于天加该控件。此定义控件位于工具箱上部,将定义好的控件拖拽至新建项目的窗体上,将新建的程序设为启动项目。运行该项目。

   

运行程序后,在用户名和密码文本框中填上设计程序时的默认值,即 admin和123456。然后单击 登陆 按钮 弹出对话框,提示登陆成功,说明自定义控件创建成功。

生活就像是老天对弈,对你而言,你走棋那叫选择;老天走棋,那叫挑战。

Winfrom 常用控件(二)相关推荐

  1. Python DearPyGui 常用控件二

    增量时间与内部时钟 Dear PyGui 有一个内置的时钟,用于检查应用程序运行的总时间 get_total_time,该时间以秒为单位.通过 get_delta_time() 方法,我们可以检查渲染 ...

  2. DevExpress Winform 常用控件

    前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是本人在 ...

  3. 鸡啄米之VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)

    目录 一.目的: 1.点击列表框某个变量后,编辑框就显示出来这个变量名字 一.参考: 1.VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox) ①总结:good:亲测有效,适合多 ...

  4. VS2010/MFC编程入门之二十(常用控件:静态文本框)

    上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始鸡啄米将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组 ...

  5. MFC编程入门之二十(常用控件:静态文本框)

    上一节讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控 ...

  6. 设计器的使用及常用控件

    设计器的使用及常用控件 文章目录 设计器的使用及常用控件 一.设计器 二.设计器中的常用控件 一.设计器 1.设计器的使用 2.通过代码操作ui文件 #include "mainwindow ...

  7. C#常用控件的属性以及方法(转载)

    -----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...

  8. Windows Phone开发(11):常用控件(下)

    原文:Windows Phone开发(11):常用控件(下) WP控件大部分都可以从Silverlight中继承过来,这里我也只能拿一部分作演示,对于其它控件如何使用,可以参考SDK相关说明以及Sil ...

  9. 二级VB培训笔记06:窗体与常用控件综合案例【个人信息注册】

    二级VB培训笔记06:窗体与常用控件综合案例[个人信息注册] 一.常用控件属性与方法思维导图 二.综合案例--个人信息注册 1.创建工程,修改名称为"个人信息注册",窗体名称设置为 ...

  10. Windows Phone7屏幕方向与常用控件

    跟林永坚老师学习wp7 屏幕方向(Orientation) 常用控件(Canvas,Grid,StackPanel,TextBlock,Image,MediaElement) 屏幕方向感应页面(Por ...

最新文章

  1. 3行Python代码就能获取海量数据?
  2. 【337天】我爱刷题系列096(2018.01.08)
  3. maven存在的意义及其与eclipse的简单配置
  4. 谷歌搜索没有相机图标_谷歌Pixel 2/3a/4 XL中招!更新安卓11相机崩溃
  5. NTU 课程 7454 (5) CNN进阶
  6. 关于arguments
  7. Delphi之面向对象的界面复用技术
  8. python for loop循环程序语句_python-带for循环的格式化输出_for-loop_酷徒编程知识库...
  9. GC和JVM调优实战
  10. EasyTrack项目管理软件的四大版本和相关组件介绍
  11. linux 声卡权限,archlinux的声卡问题如何解决
  12. 『中级篇』Dockerfile详解(17)
  13. 企业联合体的形式_联合体如何联合?——总包新政下,联合体如何联合?系列三...
  14. java hashtable 遍历_Java HashTable forEach()用法及代码示例
  15. NumPy 基础用法
  16. 我的2018股票投资思路:A股重仓家电,港股赌内房,美股投机
  17. linux 最新cpu型号,linux如何查看cpu型号
  18. 约翰霍普金斯大学计算机专业,美国约翰霍普金斯大学计算机科学专业有哪些介绍...
  19. SQLite开源库LitePal
  20. windows 7下进入System帐号并运行桌面系统

热门文章

  1. Adobe将支持HTTP流媒体直播 预示着ipad将可以用flash吗?
  2. android模拟器用户比例,海马玩发布模拟器报告:学生人群与IT从业者占64%
  3. 安卓系统强制旋转屏幕实现横竖屏切换
  4. (附源码)计算机毕业设计SSM音乐鉴赏网站前端开发
  5. 企业级spring-boot案例-自定义Spring Boot Starter
  6. 相对(relative)定位和绝对(absolute)定位
  7. 【北交所周报】新三板企业巍特环境北交所IPO闯关失败;历经5个月审核,腾信软创宣布撤回北交所上市申请;...
  8. 盘点:54款真正耐玩的独立游戏
  9. mac安装win10_老笔记本加装1T固态硬盘,顺便安装win10 Mac双系统,真香
  10. 腾讯云技术分享:MySQL AHI 实现解析