文档库 最新最全的文档下载
当前位置:文档库 › VB中treeview控件的使用方法

VB中treeview控件的使用方法

VB中treeview控件的使用方法
VB中treeview控件的使用方法

VB中treeview控件的使用方法

利用treeview控件可以获得驱动器下的所有目录和子目录,TreeView 控件最典型的使用就是Windows资源管理中显示文件夹列表的左边栏,现在我们就模仿它来做一个按树状结构显示指定盘符中所有文件夹的小程序。

一、准备知识:

1、了解TreeView 控件的基本使用,掌握了如何添加树状结构的数据到TreeView 控件中,相关文章参看这里:https://www.wendangku.net/doc/e413265056.html,入门——TreeView 控件的使用

2、了解ImageList 控件的基本使用。

3、了解https://www.wendangku.net/doc/e413265056.html, System.IO 命名空间中的Directory 类的一些常用用法,下面我们先了解下本文要用到Directory类的成员GetDirectories:它用于获取指定目录中子目录的名称。如下代码所示,获取C:盘下的子目录:

Dim dirs As String() = Directory.GetDirectories("c:\")

其结果是我们点开C盘后看到的文件夹,如果要获取更深层次的文件夹列表,就要一个一个文件夹循环使用Directory.GetDirectories方法。

二、窗体布局

在窗体上拖放一个TreeView 控件,一个Button 按钮,一个ImageList 组件

在ImageList 组件中按顺序添加如下三个图标,图标大小设置为16*16:

图一:需要用到的图标

三:编写代码

首先,我们已经知道,要想获得树状结构的每个层次中的子文件夹,我们必须使用递归过程来完成,下面所示代码所执行的工作是:先把一个已经路径的文件夹添加到树状结构中,然后再遍历它的子文件夹:

'添加文件夹

Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)

Dim i As Integer

Dim node As New TreeNode

'先添加本目录,从文件夹路径分析出文件夹名称

node.Text = Strings.Replace(strPath, strFatherPath & "\", "", , 1)

'为单个节点指定节点未被选中时显示的图标

node.ImageIndex = 1

'为单个节点指定节点被选中时显示的图标

node.SelectedImageIndex = 2

nodeFather.Nodes.Add(node)

Application.DoEvents()

Try

Dim str() As String = iDir.GetDirectories(strPath)

'遍历该目录的子文件夹

For i = 0 To str.GetUpperBound(0)

AddDirectory(strPath, str(i), node)

Next

Catch ex As Exception

Debug.WriteLine(ex.Message)

End Try

node = Nothing

End Sub

然后在按钮的Click事件中添加代码,用于添加树状结构的顶层以及调用遍历子文件的递归过程,详细代码如下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim node As New TreeNode

'先把C盘添加到树中

TreeView1.Nodes.Clear()

node.ImageIndex = 0

node.Text = "本地磁盘C:"

node.SelectedImageIndex = -1

TreeView1.Nodes.Add(node)

Dim i As Integer

'获取C:盘根目录下的文件夹

Dim str() As String = iDir.GetDirectories("C:\")

For i = 0 To str.GetUpperBound(0)

'调用遍历过程

AddDirectory("C:", str(i), node)

Next

node = Nothing

End Sub

*****************************************

1、为树状浏览器控件添加节点和子节点

用ADD方法添加一个新节点到树状浏览器的NODES集合时,可以声明它是和已存在的节点所联系起来的。通常使用ADD方法,其语法如下:

Nodes.Add(relative,[relationship][,key][,text][,image][,selectedimage])

各个参数的意义如下:

relationship 参数是通过关系节点参数与新节点连接的另一个节点;

relationship 参数可能是以下情况:

tvwlast--1;该节点置于所有其他的在relative中被命名的同一级别的节点的后面

tvwNext--2;该节点置于在relative中被命名节点的后面

tvwPrevius--3;该节点置于在relative中被命名的节点的前面

tvwChild--4;该节点成为在relative中被命名的节点的的子节点

下面是一个例子:

Dim node1,node2,node3,node4 as Node

set Node1=TreeView1.Nodes.Add

TreeView1.Nodes(1).text="node1"

TreeView1.Nodes(1).key="node1"

Set node2=treeview.nodes.add("node1",tvwChild,"node2")

TreeView1.Nodes(2).text="node2"

TreeView1.Nodes(2).key="node2"

依次插入节点即可。

2、为节点插入图象

treeview1.node(3).image="leaf"

注意我们一般从imagelist中指定图象

3、处理节点的点击,怎样才能知道树状浏览器的哪一个节点被点击了呢?可以用NodeClick 事件:

public sub treeview1_nodeclick(byval node as comctllib.node)

text1.text="you click"&node.text

end sub

*********************************************************

2、TreeView的使用,及选中其中指定的节点

’=============

Private Sub Command1_Click()

Dim nodeY As Node

For Each nodeY In TreeView1.Nodes

If CStr(Trim(nodeY.Text)) = "ff" Then

nodeY.Selected = True

TreeView1.SetFocus

Exit For

End If

Next

End Sub

Private Sub Form_Load()

https://www.wendangku.net/doc/e413265056.html,mandType = adCmdText

Rs1.RecordSource = "select distinct biao,zu from test order by zu"

Rs1.Refresh

Dim Rs As ADODB.Recordset

Set Rs = Rs1.Recordset

Set nodX = TreeView1.Nodes.Add(, , "r", "报表组")

i = 0

Dim TempString As String

Dim TempKey As Long

Do Until Rs.EOF Or Rs.BOF

If TempString = Rs!zu Then

Set nodeX = TreeView1.Nodes.Add("Z" & TempKey, tvwChild, "B" & i, Rs!biao) Else

Set nodX = TreeView1.Nodes.Add("r", tvwChild, "Z" & i, Rs!zu)

Set nodeX = TreeView1.Nodes.Add("Z" & i, tvwChild, "B" & i, Rs!biao)

TempString = Rs!zu

TempKey = i

End If

Rs.MoveNext

i = i + 1

Loop

End Sub

**********************************************************

3'功能:选择Treeview节点下所有节点

'----------------------------------------------------------------------------

Private Sub Form_Load()

TreeView1.Checkboxes = True

TreeView1.Nodes.Add , "R", "root", "root"

TreeView1.Nodes.Add "root", tvwChild, "key1", "aa"

TreeView1.Nodes.Add "key1", tvwChild, "key11", "ccc"

TreeView1.Nodes.Add "root", tvwChild, "key2", "bb"

TreeView1.Nodes.Add "key2", tvwChild, "key21", "ddd"

TreeView1.Nodes.Add "key2", tvwChild, "key211", "eee"

For I = 1 To TreeView1.Nodes.Count

TreeView1.Nodes(I).Expanded = True

Next

End Sub

Private Sub CheckChild(ByVal Node As MSComctlLib.Node, ByVal bCheck As Boolean, Optional ByVal bNext As Boolean = True, Optional ByVal bChild As Boolean = True)

If Not Node Is Nothing Then

Node.Checked = bCheck

If Node.Children And bChild Then

Call CheckChild(Node.Child, bCheck, True, True) '对子节点

End If

If bNext Then

Call CheckChild(Node.Next, bCheck, True, bChild) '对同一层节点

End If

End If

End Sub

Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node) Call CheckChild(Node, Node.Checked, False, True) '处理子节点

End Sub

VB设计报告

南京工程学院 课程设计说明书(论文)题目打字练习 课程名称VB语言课程设计 院(系、部、中心) 专业 班级 学生姓名 学号 设计地点图书馆基础教学机房 指导教师 设计起止时间:201x年x月x日至201x年x月x日 目录

一、设计任务 (3) 二、方法原理 (3) 三、总体设计思路 (3) 四、程序调试和解决问题 (4) 五、完善及存在的问题 (4) 六、收获体会 (4) 七、意见建议 (4) 八、示例截图 (5) 九、附录1(代码) (6) 十、附录2(主要参考资料) (10) 一、设计任务 1.题目介绍

在计算机及其他数码产品日益普及的今天,人们使用键盘应像用笔写字一样熟练。进行打字练习时熟悉键盘并提高打字速度的好方法。本体要求编制一个打字练习游戏程序,使用户在游戏过程中进行打字练习。 2.功能要求 (1)启动界面如图1 (2)选择难度和速度后,单击“开始”按钮,界面如图1。若选择简单,则落下字母;若选择复杂,单击开始后出现对话框,如图 2.单击确定,开始练习,落下单词。 (2)若用户在字符落到屏幕底部之前敲击了相应的键盘键,则该字符被“击中”然后消失。根据程序速度和难度的设置自动进行积分,实时分数时间正确率掉落个数显示在窗体的上部。 积分规则:正确击中一个字母或一个单词,加一分;反之,不得分,亦不扣分。(4)当游戏者单击“暂停”按钮时,程序停止运行,在单击“开始”按钮,程序继续运行;当单击“退出”按钮时,则弹出对话框(如截图示例3),单击“取消”按钮,程序继续运行,单击“确定”按钮,则弹出对话框(如截图4),此时对话框显示分数,单击“确定”按钮,退出程序。 (5)为了增加视觉效果,每个掉落的字符的颜色随机产生。 二、方法原理 根据题目要求,使用控件数组,用标签标题表示字符,键盘事件的处理判断打字正确与否,随机值的产生方法随机产生字符,用Timer控件属性反映时间、控制字符下落速度。 三、总体设计思路 首先在窗体上画出三个按钮标题分别为开始、暂停、退出。画六个标签分别表示已落字母个数、已花时间、得分与正确率。 画出一个含有五个元素的标签控制数组用以显示字符。 画出两个时间控件,一个用来返回已用时间,一个控制字符下落。 最后编写相关代码

Access Treeview 应用实例

《Access Treeview 应用实例》 使用说明: 本程序可在各种支持VBA语言的软件上直接使用,其中MS Access已成功测试具体步骤为: 1、在Access里创建一个tblTreeview的数据表如下图: 2、在Access里创建一个frmTreeview的窗体,在窗体里创建一个Treeview1的Treeview控件和一个 ImageList1的ImageList控件如下图:

3、然后把程序复制到frmTreeview窗体的加载事件当中如下图: 4、最终效果如下图:

程序: Private Sub Form_Load() On Error Resume Next Dim strParent As String, strChild As String, MyNode As Node Me.Treeview1.Nodes.Clear '清除Treeview的所有旧节点 Me.Treeview1.ImageList =Me.ImageList1.Object '把图标加载到每个节点前面 Set rst = CurrentDb.OpenRecordset("SELECT * FROM tblTreeview", dbOpenSnapshot, dbReadOnly) 'Treeview 节点数据来源 While Not rst.EOF strChild = rst!ChildID If rst!ChildID <> rst!ParentID Then strParent = Mid(rst!ParentID, 1, Len(rst!ParentID) - Len(rst!ChildID) - 1) Set MyNode = Me.Treeview1.Nodes.Add(strParent, tvwChild, rst!ParentID, rst!ChildID, "A1", "A3") '加载子节点 Else strParent = rst!ChildID Set MyNode = Me.Treeview1.Nodes.Add(, , strChild, rst!ChildID, "A1", "A3") '加载父节点End If rst.MoveNext Wend rst.Close '关闭数据集 Me.Treeview1.HideSelection = False '离开焦点后有阴影 End Sub

基于VB实现复杂报表设计

基于VB实现复杂报表设计 xx [摘要] 本文介绍了报表设计的几种方法和以往报表设计所存在的问题,并以实例介绍自动生成复杂报表的方法。实例基于VB软件开发,并以word为模板,通过调用access数据库数据自动生成复杂报表。 [关键词]VB;数据库;Word; 复杂报表 The Design Of Complex Reports Based VB [Abstract] This paper reports detailed description of several common methods, previous reports of the existence of the problem, and makes use of example to achieve a complex reporting by using of software. The example based on VB software and used word template, to achieve the common complex reporting software through reallocating database. [Key words] VB; Database; Word; Complex Statements

1引言 报表是人们在日常生活中对某类相关信息进行集中处理的重要手段,是企业信息化不可缺少的部分。报表在各行各业中应用广泛,是信息浏览、分析和打印的有力工具。传统报表系统均以国外简单报表模型为基础设计,不能适应复杂报表的开发。特别是在处理复杂数据源报表时,常常需要编写代码准备数据或进行子报表拼接才能实现。 1.1传统报表系统存在的问题 目前,国内外的报表系统种类繁多,功能界面各具特色,对这些报表系统的比较研究,有助于我们设计出更好的报表系统。国外的报表系统的技术都比较成熟,适合制作样式简单的报表,但一般都为高端产品,价格不菲,并且在处理具有强烈中国特色的报表时,国外产品不仅报表处理能力相当不适应,甚至某些技术也略显落后,例如部分产品不能稳定地在UNIX上部署,只能支持IE浏览器,统计图输出仍采用原始的CGl方式等。国内的传统报表系统更适合制作复杂的中国式报表,在报表设计和价格等方面国内报表系统也具有一些优势,但国内的报表系统在服务质量和产品本身的品质等方面还存在着一些不足和缺陷,有待进一步的改进和完善。无论是国外的高端报表系统,还是国内的传统报表系统,每一种报表系统都有各自的优点和缺点,都有各自擅长的领域,在实际工作中应该根据需要选择合适的报表系统。面对日益复杂的报表开发需求,尤其是复杂的中国式报表,这些报表系统或多或少都有些力不从心,其主要问题表现在以下三个方面: (1) 复杂数据源的处理能力不足。报表需要从复杂的数据源或者多个不同类型的数据源中获得数据,获得的数据还可能需要统计,格式转换或其他处理,这些需求都是传统报表系统难于实现的。 (2) 报表的可维护性差。传统的报表系统生成报表的种类固定,使用方便,但很多软件系统无论在实施还是在维护阶段,报表都会进行频繁的新增和修改,而传统的报表系统缺乏无编码定制能力,系统扩展网难。一旦用户对报表样式的需求发生改变,就会给软件维护带来许多不必要的麻烦。 (3) 报表保存格式的通用性较差。报表保存格式不统一,保存格式理解困难,各种报表工具各自为政,报表模板无法兼容,行业也没有形成统一的标准,一旦用户选定了某一报表工具就意味着要一直使用。如果不幸选择失误,已经做的工作都要重新再来。 总之,利用传统的报表系统制作报表维护量相当大,一个需求对应一个报表文件,不同的组合要求制作大量的报表文件,使得开发过程变得极为繁琐,难以实现用户的需求。在设计复杂数据源的报表时,或者需要人工转换数据格式,或者要编写大量代码将多个数据源运算成为一个数据源再使用,或者使用拼接子报表的方式来实现,但都没有从根本上解决问题,严重影响报表的设计和使用效率。因此如何快速制作符合多层结构特点的复杂数据源报表,减轻开发工作量,已经成为报表系统开发的重要问题。

VB控件 treeview用法详解

VB TreeView控件使用详解 (2012-06-16 15:08:16) 标签:分类: 第一小时:学习直接用代码将数据填充到树控件中。 为什么要先学习直接用代码将数据填充到树控件中因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。 目的:我们要在树控件中建立如下的一个3层级关系 水果 | |__苹果 | |__红富士 | |__国光 | |__葡萄 |__红提子 |__青提子 解释:水果包含2种,一种是苹果,一种是葡萄,苹果又包含2种,一种是红富士,一种是国光,葡萄也如此。 在这里:“爷”是水果,“父”是苹果,葡萄,“子”是红富士,国光,红提子,青提子。概括如下: 爷(只能有一个):水果 父(这里有2个):父1:苹果;父2:葡萄

子(这里有4个):子1:红富士(父1苹果的子);子2:国光(父1苹果的子);子3:红提子(父2葡萄的子);子4:青提子(父2葡萄的子) 1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist 如何找到这两个控件 Treeview控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Treeview Control,Version " Imagelist控件在“工具箱”的榔头加扳手图标(其他控件)中选“Microsoft Imagelist Control,Version " Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢原来这个控件是放图标用的,如果你想在树控件中显示图标的,这个图标都将储存在ImageList控件中。 2、设置这两个控件的属性 首先要讲清楚控件的属性设置有2种,一种是设置这个控件在ACCESS中的属性,比如名称等。一种是设置这个控件本身的属性。要设置这个控件在ACCESS中的属性,选中控件后按鼠标右键选“属性”就可以了。跟我们平时设置文本框什么的一样。要设置这个控件本身的属性,只要双击这个控件就可以了。 1)设置Treeview控件在ACCESS中的名称属性,将名称设置为“Treeview" 2)设置Imagelist控件在ACCESS中的名称属性,将名称设置为“Image" 2)设置Imagelist控件本身的属性,双击控件后,在弹出来的设置框中选“Images",单击“Insert Picture"按钮,在你电脑中选择你需要的图标。在“Key:”栏中填入“K1”。其他默认设置不用改。3)设置Treeview控件本身的属性,双击控件后,在弹出来的设置框中选“General”,在这个选项面版中有很多项设置,大多数是设置树控件的显示格式,你自己慢慢研究。这里我们将第一项“Style"选7,在第五项“Imagelist"选项中将我们放置的Imagelist控件“Image"选上。这项设置就将图标和树控件联系了起来。 3、写代码将数据填充到树控件中

treeview控件应用

树形结构控件TreeView TreeView是一种 能以树形目录结构形式 显示数据的高级控件, 显示方式类似于 Windows的资源管理 器,能分层展开各结点 的子目录,也能收缩各 结点的子目录。本节将 先介绍TreeView控件 的一些基本概念、属性 与方法,再举例说明 TreeView控件的应用。 TreeView控件概述、属性与方法 1、作用:用于显示Node结点的分层列表。 2、添加到控件箱 菜单命令:工程 | 部件,在部件对话框中选择:Microsoft Windows Common Controls 6.0 3、TreeView控件的属性 (1)属性对话框 用鼠标右键单击TreeView 控件,在弹出式菜单中选择属 性,进入属性设置对话框,该 对话框分为通用、字体、图片 三个选项卡,如图8.6所示。

①样式(Style):返回或设置在Node结点之间显示的线样式,如表8.6所示。 ②鼠标指针(MousePoint):可选择不同鼠标样式,如表8.1所示。 ③线条样式(LineStyle):0-tvwTreeLine 无根结点的树形结构,1-tvwRootLines有根结点的树形结构。 ④标签编辑(LabelEdit):0-tvwAutomatic 自动,1-tvwManual 手工; ⑤图像列表(ImageList):结点图标所用ImageList控件; ⑥边框样式(BorderStyle):0-ccNone无边框,1-ccFixedSingle单边框; ⑦外观(Appearence):0-ccFlat平面效果,1-cc3D 3D效果; ⑧缩进:父子结点的水平间距。 (2)其它属性 ①SelectedItem.Text属性:用于返回或设置当前Node结点的内容。 ②CheckBoxes属性:该属性只能取逻辑值,若取True值,则每个Node结点前出现一个复选框,否则不出现复选框。 4、TreeView控件的方法 (1)Node结点 ①Node结点:是TreeView控件中的一项,它包含图像与文本。 ②Nodes结点集合:包含一个或多个Node结点。 (2)Add方法 ①作用:为TreeView控件添加节点和子节点。 ②定义格式 TreeView1.nodes.Add(Relative,Relationship,Key,Text, Image,SelectedImage) 其中: ◆Relative参数:添加新结点时,其父结点键值Key。添加根结点时,此项为空。 ◆Relationship参数:新结点的相对位置: tvwlast—1:新节点位于同级别所有节点之后; tvwNext—2:新节点位于当前节点之后; tvwPrevious—3:新节点位于当前节点之前; tvwChild—4:新节点成为当前节点的子节点。 ◆Key:Node结点关键字(唯一标识符),用于检索Node结点。同时也作为其新建子结点的Relative值,即新建子结点的Relative=父结点Key。 ◆Text:Node结点文本。 ◆Image:Node结点位图,是关联ImageList控件中位图的索引。

delphi中TreeView控件使用

DELPHI中利用TreeView控件建立目录树2000-06-26 00:00:00·-·中国计算机报社 p>Rainbow的话:关于TreeView的使用,还可以参看:联合使用TreeView 组件 TreeView是一个显示树型结构的控件,通过它能够方便地管理和显示具有层次结构的信息,是Windows应用程序的基本控件之一。DELPHI虽然具有比较强大的文件管理功能,提供了多个用于文件管理的标准控件,如DriveComboBox、DirectoryListBox、FileListBox等,通过设置它们的属性,使其建立起联系,甚至不用编写一行程序,我们就可以实现在不同的目录之间进行切换,然而这样的目录切换只适用于进行文件的查找定位,而不能方便地进行目录的浏览,例如我们要从c:\windows目录转到c:\program files目录,就必须返回到根目录才能进行切换,而不能象Windows资源管理器那样任意地在不同的目录之间进行浏览与切换。 要实现在不同目录之间任意切换和浏览,还是需要使用TreeView控件,以下程序就利用DELPHI的TreeView控件来建立目录树。 在该程序中采用的各部件以及界面设计如下图所示: 各部件的主要属性设置如下: 部件属性属性值form name caption form1 ‘目录浏览’ drivecommbobox name visible drivecommbobox1 false filelistbox name visible filetype filelistbox1 false fddirectory imagelist name imagelist1 treeview name images 该程序利用DriveCommboBox控件来获得系统具有的驱动器,并以此作为目录树的最上层,利用FileListBox控件,通过设置其Filetype属性为fdDirectory,可以获得所需的子目录,在TreeView控件的OnExpanding事件中将得到的子目录加到该控件的某一节点下。

在VB中用数据报表设计器创建报表

在VB中用数据报表设计器创建报表 数据环境设计器(Data Environment designer)与数据报表设计器(Data Report designer)均是Visual Basic 6.0的新增功能,它们的出现大大增强了Visual Basic处理数据的能力。在以往的Visual Basic版本中,制作报表都是通过第三方产品来完成并通过ActiveX控件输出的。这两种设计器的出现,使得Visual Basic程序员再也不用考虑选择一个什么样的第三方工具设计报表了,所有的设计全部在Visual Basic内部完成,再加上Visual Basic 6.0新增的开发IIS应用程序和开发DHTML应用程序功能,使得Visual Basic 6.0是一个名副其实的装备齐全的集成开发环境了。下面我们以一个比较简单的报表为例,详细阐述如何使用数据环境设计器和数据报表设计器来设计一个数据报表。 一、数据环境设计器与数据报表设计器 数据环境设计器提供了一个交互式的设计环境。通过设置Connection对象和Command 对象的属性,可以快速完成到一个数据源的连接。对于设置好的数据环境设计器,可以将它的对象拖放到表单上或是报表上,它会自动创建并完成数据绑定控件的设置。 数据报表设计器是一个极为灵活的设计报表的工具。它以数据环境设计器作为数据源,能创建有层次的、汇总若干个关系型数据表数据的复杂报表。除了像传统的报表设计工具那样能将报表通过打印机输出以外,数据报表设计器还能以HTML或文本文件的格式输出报表。 二、数据环境对象 数据环境设计器包含以下几个对象: 1. 数据连接(Connection)对象:连接对象表示到一个作为数据源的远端数据库或本地数据库的连接。在数据环境中必须至少包含一个连接对象,要使用数据环境存取数据,必须首先创建连接对象。 2. 数据命令(Command)对象:命令对象定义了从数据库连接中将取回什么数据的详细信息。命令对象可基于任何一个数据库对象(表、视图、存储过程或同义字)或是一个SQL 查询。 三、数据报表对象 数据报表设计器包括以下几个对象: 1. 数据报表(Data Report)对象:类似于Visual Basic表单,它包含一个可视化设计器和一个代码模块。设计器用来创建报表的布局,也可以往设计器的代码模块里添加代码,用程序对包含在设计器里的控件或区域进行控制。 2. 区域(Section)对象:数据报表设计器的每一个区域均由一个区域集对象中的一个区域对象来表示。在设计阶段,每一个区域都有一个标题,若要选择区域,只需用鼠标选择标题即可,并且在区域内可布置控件。在报表建立之前,使用区域对象及其属性调整报表。使用过报表的人都知道,报表可分为报头、报脚、页头、页脚、组头、组脚和细节等部分,在区域内也是一样的。

C_-TreeView控件使用方法

TreeView 控件显示Node 对象的分层列表,每个Node 对象均由一个标签和一个可选的位图组成。 本文主要介绍C# treeView控件中,添加,修改、删除节点等c# treeview控件的使用方法。 其代码如下: 1.private void Form1_Load(object sender, EventArgs e) 2.{ 3. https://www.wendangku.net/doc/e413265056.html,belEdit = true;//可编辑状态。 4. 5.,这个结点是根节点。 6. TreeNode node = new TreeNode(); 7. node.Text = "hope"; 8. treeView1.Nodes.Add(node); 9. TreeNode node1 = new TreeNode(); 10. node1.Text = "hopeone"; 11. TreeNode node11 = new TreeNode(); 12. node11.Text = "hopeoneone"; 13. TreeNode node2 = new TreeNode(); 14. node2.Text = "hopetwo"; 15. node1.Nodes.Add(node11);//在node1下面在添加一个结点。 16. node.Nodes.Add(node1);//node下的两个子节点。 17. node.Nodes.Add(node2); 18. 19. TreeNode t = new TreeNode("basil");//作为根节点。 20. treeView1.Nodes.Add(t); 21. TreeNode t1 = new TreeNode("basilone"); 22. t.Nodes.Add(t1);

Treeview 控件的简单应用

Treeview 控件的简单应用: 在VB中Treeview 控件的添加: 通过VB菜单,[工程] -- [部件],然后勾选Microsoft Windows Common Controls 6.0 (SP6),[确定]。 在工具箱里就有了Treeview 控件的图标。 Treeview 控件具有显示类似目录层次结构的格式,在具体应用中很有实际意义。下面简单介绍。 一.在Treeview 控件中添加1个新节点: 在Treeview 控件中添加1个新节点,是通过Treeview 控件的Nodes 集合的Add方法添加一个Node 对象来实现的。 使用方法: Dim nodX As Node Set nodX = Treeview1.Nodes.Add(relative, relationship, key, text, image, selectedimage) 其中参数说明: Relative:可选的。已存在的Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数relationship 中找到。可以这样理解relative的作用,是新节点的位置的参照对象。 Relationship:可选的。指定的Node 对象的相对位置,如设置值中所述。本参数是相对参数relative而言。 Key:可选的。唯一的字符串,可用于用Item 方法检索Node。 Text:必需的。在Node 中出现的字符串。 Image:可选的。在关联的ImageList 控件中的图像的索引。 Selectedimage:可选的。在关联的ImageList 控件中的图像的索引,在Node 被选中时显示。 以上参数image和selectedimage,是设置节点文字左边的图形,以后详细举例说明。 例1: Set nodX = TreeView1.Nodes.Add(, , "R", "Root") 这是缺省了relative, relationship, image, selectedimage参数的实例,而key值用“R”,text 值用“Root”。 通常,缺省了relative, relationship的节点,是第1层节点。本例,生成了一个第1层节点,显示的文字为“Root”。 例2: Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Child 1") nodX.EnsureVisible '这个方法EnsureVisible,使得新添加的子节点后,展开多层显示。 本例:relative为“R”,relationship为tvwChild,key为“C1”,text为“Child 1” 其功能是:建立1个新节点;该新节点是节点key值为“R”的子节点(tvwChild),而该新节点的key值用“C1”,text值用“Child 1”。 我们现在要为TreeView1控件添加新节点,可能有三种情况; 1)添加1个新的第1层节点。 Set nodX = TreeView1.Nodes.Add(, , "R1", "Root1")

vb报表设计

第六节报表设计 对一个完整的数据库应用程序来说,制作并打印报表是不可缺少的环节。6.0 提供了对象作为数据报表设计器(),对象除了具有强大的功能外,还提供了简单易操作的界面。 对象可以从任何数据源包括数据环境创建报表,数据报表设计器可以联机查看、打印格式化报表或将其导出到正文或页中。 一、报表设计器 数据报表设计器由对象、对象和控件组成。 1对象 对象与的窗体相似,同时具有一个可视的设计器和一个代码模块,可以使用设计器创建报表的布局,也可以在代码模块中添加代码。 在“工程”菜单上,单击“添加”命令,将数据报表设计器添加到工程中,则出现如图5-6-1所示的1对象,由“报表标头”、“页标头”、“细节”、“页注脚”和“报表注脚”组成。 图5-6-1 ·报表标头:指显示在一个报表开始处的文本,例如用来显示报表标题、作者或数据库名。 ·页标头:指在每一页顶部出现的信息,例如用来显示每页的报表标题。

·分组标头、注脚:指数据报表中的“重复”部分。每一个分组标头与一个分组注脚相匹配,用于分组。 ·细节:指报表的最内部的“重复”部分(记录),与数据环境中最低层的子对象相关联。 ·页注脚:指在每一页底部出现的信息,例如,用来显示页码。 ·报表注脚:指报表结束处出现的文本,例如,用来显示摘要信息或一个地址或联系人姓名。报表注脚出现在最后一个页注脚之前。 2对象 数据报表设计器的每一个部分由对象表示,如图5-6-1中的1~5。设计时,每一个由一个窗格表示,可以单击窗格以选择页标头,编程改变其外观和行为,也可以在窗格中放置和定位控件,对对象及其属性进行动态重新配置,更改每一个对象的布局来设计报表。 3控件 当一个新的数据报表设计器被添加到工程时,在窗体上控件箱出现“数据报表”和“”(通用)选项卡,如图5-6-2所示。但在数据报表设计器上不能使用的控件,即内部控件或控件。数据报表选项卡中的控件仅包含可在数据报表设计器上工作的特殊控件。 图5-6-2 数据报表选项卡有下列控件: ·控件():文本框用于在报表上设置规定文本格式,或指定一个。 ·控件():用于在报表上放置标签、标识字段或。

ACCESS Treeview控件(树型控件)快速入门

Access 2003:Treeview控件(树型控件)快速入门(2010-06-01 14:26:08) 很多东西看起来很复杂,其实学起来还是蛮简单的。说这样的话不是“站着说话不腰疼”,而是切切实实的感受。很多时候我们会感到恍然大悟,之后便轻车熟路,信手拈来了,这就是前面所说的感觉,正所谓“山重水复疑无路,柳暗花明又一村”。 学这个Treeview控件也是一样。看起来它那么复杂,解释起来连篇累牍,但是我们需要的却往往只是其中一点,然后不断的重复使用这一点,仅仅这样,就能解决不少实际的问题。 使用Treeview的优点很多,比如具有无限扩展性,一个一个的分支,分支下面又可以增加次一级分支,每级分支又可以有很多并列的分支,这样就能满足多样的需求,另外,它还有很好的组织管理性,因为它具有明显的层级关系,很多人会用TreeView来做物料BOM表,可以说把这种特性发挥的淋漓尽致。 建立下面这样一个Treeview并不难,你只需要使用一句代码,多写几次就OK了。 不妨来看看代码,不过不用怕,记住,这里只有一句代码,其它的都在重复! Dim ndeindex As Node Set ndeindex = TreeView0.Nodes.Add(, , "a", "基础资料", "k1")

Set ndeindex = TreeView0.Nodes.Add("a", tvwChild, "a1", "品号资料维护", "k1") Set ndeindex = TreeView0.Nodes.Add(, , "b", "工时资料", "k1") Set ndeindex = TreeView0.Nodes.Add("b", tvwChild, "b1", "观测资料查询", "k1") Set ndeindex = TreeView0.Nodes.Add("b", tvwChild, "b2", "工时查询(依品号)", "k1") Set ndeindex = TreeView0.Nodes.Add("b", tvwChild, "b3", "工时查询(依其它条件)", "k1") Set ndeindex = TreeView0.Nodes.Add(, , "c", "产能模式", "k1") Set ndeindex = TreeView0.Nodes.Add("c", tvwChild, "c1", "FCST产能计算", "k1") Set ndeindex = TreeView0.Nodes.Add("c", tvwChild, "c2", "产能试算", "k1") Set ndeindex = TreeView0.Nodes.Add(, , "d", "成本模式", "k1") 所以,不用太多解释,你应该明白这个函数的参数的意思了吧?第一个参数是指它从属的上级,如果它就是顶级,那就空着;第二个参数表示当前这个是前面的那个上级的下一级,这是系统规定的,照抄就行;第三个参数是当前级别的代号;第四个参数就是当前级别的显示文字,想看到什么就写什么;最后一个是指当前级别前面的图,这个在imagelist控件中,如果你要用,就加这个控件,不用也行,就把这个参数空着。(如果要用,需要现在imagelist中插入图像,然后再treeview中指定使用这个imagelist,k1是在插入图像时指定的图像代号。如下图所示)

VB程序设计课程设计报告

《VB程序设计》 课程设计报告 (2016 —2017 学年第1学期) 题目:______________ 排序演示_____________________________ 学院: _______ 经济与管理学院_________________ 班级: __________ 物流管理1502 __________________ 学号: ____________________________________ 姓名:_________________________________ 指导教师: __________ 阮冰_______________________ 时间:起2017年1月3日止1月6日

一、课程设计基本信息 课程代码: 课程名称:计算机基础课程设计 课程英文名称:Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:生物科学类、制药工程、制药工程(生物制药卜药物制剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、Visual Basic程序设计课程 学分:1 总学时:16 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中 的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1 ?培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2 ?通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3?系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4 ?根据个人的设计调试过程,撰写设计报告。 三、课程设计内容 利用已掌握的VB程序设计语言基础,以及面向对象的程序设计方法、事件驱动的编程方式,进行应用程序和系统的开发设计。在强化巩固已有编程知识基础之上,训练新的设计 与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。 四、课程设计要求 1. 要求每个同学都要认真对待,积极参与。 2. 课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同时填写并完成《课程设计报 告册》。 3. 不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参 与的将作不及格处理。 五、考核方式 指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神 和设计报告等进行综合考评,百分制计算,具体考核标准主要包含以下几个部分: 1. 程序运行情况20分 2. 程序功能的完善程度10分 3. 程序结构的合理性10分 4. 对问题的答辩情况20分

delphi中treeview的使用

delphi中Treeview的使用介绍 每一个节点下子节点形成这一节点的Items属性,当前节点有一个唯一的Index(TreeNode的Index属性),用于说明子节点在Items 中的位置,每一个节点下的子节点是顺序编号的,第一个是0,第二个是1,依次类推。用IndexOf方法获得子节点的顺序,绝对顺序(AbsoluteIndex)则是指从Treeview第一个项开始的顺序值,第一个是0,如此推下去。Item属性则根据Index的值返回当前节点的第Index个子节点。Count则表明属于此项的所有子节点的数量。用MoveTo方法将Item由一个位置移到另一个位置。 Expanded属性表明是否所有的子项都全部展开(包括子项的子项),为True表示全部展开。IsVisible属性表明一个项是否在树中能被看到,如果树全部展开那么这个Item是肯定可以被看到。HasChildren属性表明一个项是否有子项。 GetFirstChild, GetLastChild, GetPrevChild, and GetNextChild分别返回当前项子项的第一个、最后一个和前一个、后一个项。GetNextSibling and GetPrevSibling则返回在同一Level下的下一个和上一个项。GetNextVisible and GetPrevVisible则返回能看得到的下一个和上一个项。如果一个节点有Parent,则HasAsParent方法返回True. Parent为当前项的父项。Focused属性确定焦点是否落在此节点上,被Focus时会一个标准的方框围住。很显然,只有一个节点会被聚焦。Selected属性表明一个节点是否被选中,同样只有一个节点会被选中。DropTarget属性表明节点在拖动操作中是源还是目标。

VB中报表的使用方法

Option Explicit Private Sub DataReport_Initialize() Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim str As String Dim strsql As String str = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= " & App.Path & "\db1.mdb " cnn.Open str rs.CursorLocation = adUseClient strsql = "select * from table1 " rs.Open strsql, cnn, adOpenDynamic, adLockOptimistic Set DataReport1.DataSource = rs DataReport1.Sections(1).Controls( "Text1 ").Caption = rs.Fields(1) DataReport1.Sections(2).Controls( "Text2 ").Caption = rs.Fields(2) DataReport1.Sections(3).Controls( "Text3 ").Caption = rs.Fields(3) DataReport1.Sections(4).Controls( "Text4 ").Caption = rs.Fields(4) End Sub 在报表中定义可四个RptTextBox控件.而且与都与数据库绑定了。运行看不到结果。老说下标越界 DataReport1.Sections(1).Controls(1).Caption = rs.Fields(1) controls(1);1表示你在报表上画它时的顺序.

delphi中TreeView控件使用

DELPHI中利用TreeView控件建立目录树 p>Rainbow的话:关于TreeView的使用,还可以参看:联合使用TreeView组件 TreeView是一个显示树型结构的控件,通过它能够方便地管理和显示具有层次结构的信息,是Windows应用程序的基本控件之一。DELPHI虽然具有比较强大的文件管理功能,提供了多个用于文件管理的标准控件,如DriveComboBox、DirectoryListBox、FileListBox等,通过设置它们的属性,使其建立起联系,甚至不用编写一行程序,我们就可以实现在不同的目录之间进行切换,然而这样的目录切换只适用于进行文件的查找定位,而不能方便地进行目录的浏览,例如我们要从c:\windows目录转到c:\program files目录,就必须返回到根目录才能进行切换,而不能象Windows资源管理器那样任意地在不同的目录之间进行浏览与切换。 要实现在不同目录之间任意切换和浏览,还是需要使用TreeView控件,以下程序就利用DELPHI的TreeView控件来建立目录树。 在该程序中采用的各部件以及界面设计如下图所示: 各部件的主要属性设置如下: 该程序利用DriveCommboBox控件来获得系统具有的驱动器,并以此作为目录树的最上层,利用FileListBox控件,通过设置其Filetype属性为fdDirectory,可以获得所需的子目录,在TreeView控件的OnExpanding事件中将得到的子目录加到该控件的某一节点下。 整个程序的源代码如下: unit main;

interface uses Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,FileCtrl,ComCtrls,ImgList; type TForm1=class(TForm) DirTreeView:TTreeView; FileListBox1:TFileListBox; DriveComboBox1:TDriveComboBox; ImageList1:TImageList; procedure FormCreate(Sender:TObject); procedure DirTreeViewExpanding(Sender:TObject;Node:TTreeNode;var AllowExpansion:Boolean); private {Private declarations} public {Public declarations} end; var Form1:TForm1; implementation {$R*.DFM} procedure TForm1.FormCreate(Sender:TObject); var FirstNode,DirNode:TTreeNode; ItemCount,Index:integer; Itemstr:string; begin ItemCount:=DriveComboBox1.Items.Count;//所有驱动器的个数 FirstNode:=DirTreeView.Items.GetFirstNode; for index:=0to ItemCount-1do begin ItemStr:=DriveComboBox1.Items[index]; ItemStr:=copy(ItemStr,1,pos(:,ItemStr));//获得驱动器的名称(比如C/D) DirNode:=DirTreeView.Items.AddChild(FirstNode,ItemStr); DirNode.HasChildren:=true; DirNode.ImageIndex:=0; DirNode.SelectedIndex:=1; end; end; //响应扩展事件 procedure TForm1.DirTreeViewExpanding(Sender:TObject;Node:TTreeNode;Var AllowExpansion:Boolean); var

VB通用数据表格输出程序的设计.

VB通用数据表格输出程序的设计 做为一种简捷、系统的Windows应用程序开发工具,Visual Basic具有强大的数据处理能力,提供了多种数据访问方法,可以方便地存取Microsoft SQL Server、Oracle、XBase等多种数据库,被广泛应用于建立各种信息管理系统。但是,VB缺乏足够的、符合中文习惯的数据表格输出功能。虽然使用Crystal Report控件及Crystal Reports程序可以输出报表,但操作很麻烦,中文处理能力也不理想,特别是不能够用来制作不确定内容的表格。笔者在用VB开发淮北市医疗保险信息管理系统时,需要对任意的查询结果进行表格输出,为此,编制了一个通用的数据表格输出控件,能够根据查询的结果自动生成二维中文表格,并打印输出,在此介绍给大家,共同探讨。 一.VB中的结果集 VB提供的数据访问方法有数据询问对象(DAO)、Data控件、远程数据对象(RDO)、RemoteData控件(RDC)、ODBC API、VB SQL等,其中ODBC API比较复杂,开发、调试和支持非常困难;VB SQL是针对Microsoft SQL Server的,这两种方法使用的比较少,这里不做讨论。比较常用的方法是DAO、Data控件、RDO、RDC,其中DAO和Data控件使用的结果集(又叫纪录集) 包含在Recordset 对象中,RDO和RDC使用的结果集包含在rdoResultset对象中。通用表格输出的实现方法就是根据任意的Recordset对象或rdoResultset对象自动生成表格并输出。 二.表格的自动生成 1. Recordset对象 下面以Data控件为例,介绍Recordset对象的表格自动生成方法。 假设有Data控件名称为MyData,首先说明相关的内容及用法: (1) Data控件的结果集包含在它的Recordset对象中,引用方法为: MyData.Recordset。 (2) Recordset 对象的RecordCount属性为结果集的行数,它决定了表格的长度,该属性引用方法为: MyData.Recordset.RecordCount。 (3) Recordset 对象包含一个Fields集合,通过Fields集合的Count属性可以得到结果集中字段的个数,用做表格的列数,该属性引用方法为: MyData.Recordset.Fields.Count。 (4) Fields集合包括结果集合全部Field对象,这些Field对象引用方法为:MyData.Recordset.Fields(i),其中i是该Field对象在中的位置序号,从0开始计数。 (5) Field 对象的Name属性是该字段的名称,用做表格对应列的名称,引用方法为:MyData.Recordset.Fields(i).Name。 (6) Field 对象的Size属性是该字段数据的最大尺寸,引用方法为:MyData.Recordset.Fields(i).Size。 (7) Field 对象的Type属性是该字段数据的类型,引用方法为:MyData.Recordset.Fields(i).Type。 用Field 对象的Size和Type属性可以计算出表格对应列的宽度。 (8) Field 对象的Value属性是该字段的值,这是表格对应列的内容,引用方法为:MyData.Recordset.Fields(i).Value。

相关文档