第九章、Windows应用程序(9.17节~9.20节:Timer、TreeView、ListView、DataGridView)

9.17、定时器Timer

9.17.1、System.Windows.Forms.Timer

9.17.1.1、属性

Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。

Interval:触发Tick事件的频率,每隔Interval毫秒触发一次Tick事件。

Enabled:true表示该定时器正常,false表示定时器失效。该属性默认为false,当设置为true的时候,相当于timer1.Start(),设置为false的时候,相当于timer1.Stop()。

9.17.1.2、函数

            timer1.Start();//启动定时器

            timer1.Stop();//停止定时器

9.17.1.3、事件

timer1.Tick += new System.EventHandler(this.timer1_Tick);   

定时器启动后,不会立马触发事件,而是开始计时,当时间到达间隔大小之后,会触发唯一Tick事件;然后又开始计时,等待着下一次的间隔结束后继续执行事件。

   private void timer1_Tick(object sender, EventArgs e)

        {

        }

9.17.2、System.Timers.Timer

9.17.1.1、初始化对象

定义一个对象:System.Timers.Timer t = new System.Timers.Timer();

指定一个事件:t.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);

设定时间间隔:t.Interval = 5000;

9.17.1.2、属性

Enabled:true表示该定时器正常,false表示定时器失效。该属性默认为false。当设置为true的时候,相当于timer1.Start(),设置为false的时候,相当于timer1.Stop()。

AutoReset:获取或设置一个值,该值指示Timer是应在每次指定的间隔结束时引发 Elapsed 事件,还是仅在指定的间隔第一次结束后引发该事件。设置是执行一次(false)还是一直执行(true)。

Enabled:true表示该定时器正常,false表示定时器失效。该属性默认为false,当设置为true的时候,相当于timer1.Start(),设置为false的时候,相当于timer1.Stop()。

9.17.1.3、函数

timer1.Start();//启动定时器,触发事件

timer1.Stop();//停止定时器,不触发事件

timer1.Close();//停止定时器,不触发事件,并且释放timer1所占用的资源,但是timer1对象还是存在的,没有被释放。

9.17.1.4、事件

         private void timer1_Tick (object source, System.Timers.ElapsedEventArgs e)

         {

            

}

定时器启动后,不会立马触发事件,而是开始计时,当时间到达间隔大小之后,会触发唯一Tick事件;然后又开始计时,等待着下一次的间隔结束后继续执行事件。

9.18、TreeView

9.18.1、TreeView、TreeNode 的定义    

这个是一个树形控件,定义该控件:

TreeView  treeView1  =  new  TreeView();

      为了使该控件的节点能够设置图像,那么还需要定义一个图像列表,该图像列表中包含了一些图像,这些图像是有整数索引值的:

ImageList  imageList1  =  new  ImageList();

将树形控件的ImageList属性设置成上面定义好的图像列表:

treeView1.ImageList  =  imageList1;

该控件是由节点构成的,该控件的所有节点都是TreeNode类型。定义一个节点:

TreeNode  node  =  new  TreeNode();

9.18.2、TreeNode节点的属性

Node.Name:该属性表示该节点的名字,可读写,而且同一个TreeView上面的不同节点的该属性是可以相同的,不会有什么错误,因为这个属性并不是唯一标识某一个节点的。

node.Text:该节点显示出来的文本值,可读写。

node.Tag:该属性是object类型的,可以记录与该节点相关的一些值。

node.ImageIndex:正常情况下未被选中时的所显示的图像的索引。

node.SelectedImageIndex:被选中时的所显示的图像的索引。

注意:以上两个属性值是通过imageList1来设置的,就是图像的索引;如果希望某一个节点选中和不选中两种情况下都显示相同的图像,那么可以将这两个属性值设置成相同即可。

node.Nodes:获取该节点的子结点的集合。

node.Parent:获取该节点的父节点,如果没有父节点就返回null。

node.FirstNode:获取该节点的子结点集合中的第一个子结点,如果该节点没有子结点,那么返回null。

node.LastNode:获取该节点的子结点集合中的最后一个子结点,如果该节点没有子结点,那么返回null。

node.NextNode:获取该节点同级的下一个节点,如果该节点同级没有下一个节点,那么返回null。

node.PrevNode:获取该节点同级的上一个节点,如果该节点同级没有上一个节点,那么返回null。

node.FullPath:获取从根节点到当前节点完整路径,每个节点用Text属性替代,节点之间用“\”分隔。

node.Checked:获取或者设置该节点是否被选中,这个是在有CheckBox的情况下使用的。

node.IsExpanded:该属性表示该节点是否处于可展开状态,即是否处于闭合状态。只读。

node.IsSelected:该属性表示该节点是否处于选中状态,只读。

9.18.3、TreeNode节点的方法

node.Remove():将该节点及其子结点全部移除。

node.Expand():展开树节点。

node.ExpandAll():展开所有子树节点。

node.Collapse:折叠该树节点。

9.18.4、Nodes的属性和方法

TreeView TreeNode都有Nodes集合,该集合常用属性和方法:

Nodes.Count:表示该节点集合中的节点的个数。 

Nodes.Add(node):往treeView1、TreeNode的下一级子结点的集合中添加节点。

Nodes.Clear():将当前对象的Nodes节点集合清除。

注意:treview1的根节点可以有多个,往treview1.nodes里面添加多个,就会有多个根节点;treview1.nodes或者TreeNode.Nodes子结点的集合都是指当前对象的下一级,而不是下两级或者所有级。

9.18.5、TreeView的属性和方法

treeView1.SelectedNode:treeView1中选中的节点。如果treeView1刚被加载了一些节点初始化了,没有设定其选中的节点,那么默认是选中根节点的;如果手动的选中了一个节点,那么该属性就是选中的节点;如果在程序中把手动选中的节点删除了,那么有默认根节点为选中节点了;如果此时再用程序新增一个节点,那么就不选中任何节点了,该属性为null。

TreeView的事件:

选择某个节点之后就会触发该事件,其中e.Node表示当前选中的节点:

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)

        {

            textBox1.Text = e.Node.Text;

        }

9.19、列表视图ListView

列表视图是一个容器,可以存放数据:

9.19.1、属性

Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。

View:该控件的显示风格,有5种显示风格,但是如果要想显示表格的话,就必须把该属性设置成:Details

GridLines:在各个单元格周围是否显示网格线。

FullRowSelect:控制当某一个单元格被选中时,该行的其他单元格是否与该单元格一起整行突出显示,如果为false则即使选中也没什么效果。

HideSelection:当控件没有焦点,是否移除选定项的突出显示。

HeaderStyle:控制标题头是否可以点击触发事件。

MultiSelect:控制列表视图是否允许多选。如果设置成可以多选,那么可以用:

Ctrl + 鼠标点      击、Shift +鼠标点击、 Shift +上下键

Enabled:控制该控件是否可用。

Columns:列表框的列ColumnHeader的集合。

Items集合:列表框的行ListViewItem的集合。

集合的Conut属性:可以用Count属性来获得集合的ListViewItem元素个数࿱

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值