vb.net中TreeView控件的使用
在中 TreeView(树型结构)控件是显示节点(Node)对象的级层结构 它通常用于显示一些有等级结构的信息 我们最为熟悉的就是Windows资源管理器左边显示文件和文件夹的窗口 在工具箱中 TreeView 控件的图标如下图一所示
站在用户的角度思考问题,与客户深入沟通,找到托里网站设计与托里网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名与空间、网页空间、企业邮箱。业务覆盖托里地区。
TreeView控件的每个节点(Node对象)包含了一个标签和可选的点位图 每个节点又可能包含有若干个的子节点 可以通过控制某个节点来展开显示或者折叠隐藏它所包含的子节点
一 TreeView 控件的一些常用属性
CheckBoxes 属性 指示是否在树视图控件中的树节点旁显示复选框
FullRowSelect 属性 当 FullRowSelect 为 true 时 选择突出显示将跨越树视图的整个宽度 即整个显示区域的宽度而不仅仅是树节点标签的宽度 如果 ShowLines 设置为 true 则将忽略 FullRowSelect 属性
HideSelection 属性 指示选定的树节点是否即使在树视图已失去焦点时仍会保持突出显示
HotTracking 属性 如果 HotTracking 属性设置为 true 那么当鼠标指针移过每个树节点标签时 树节点标签都将具有超级链接的外观 Underline 字体样式将应用于 Font 而 ForeColor 将设置为蓝色 从而使标签显示为链接 注意 如果 CheckBoxes 属性设置为 true HotTracking 属性将失效
Indent 属性 设置每个子树节点级别的缩进距离(以像素为单位)
ItemHeight 属性 设置树视图控件中每个树节点的高度
Nodes 属性 获取分配给树视图控件的树节点集合 这个属性是TreeView 控件最重要的属性之一 我们下文将会对它进行更加的详细的说明
PathSeparator 属性 树节点路径(TreeNode FullPath 属性)所使用的分隔符串 默认为反斜杠字符 (\) 树节点路径包括一组由 PathSeparator 分隔符串分隔的树节点标签 标签的范围为根树节点到所需的树节点 如下代码我们可以获得当前选中的节点的路径
MessageBox Show(TreeView SelectedNode FullPath)
SelectedNode 属性 获取或设置当前在树视图控件中选定的树节点 如果没有选定任何节点 则 SelectedNode 属性则为Nothing
ShowLines 属性 指示是否在树视图控件中的树节点之间绘制连线
ShowPlusMinus 属性 指示是否在包含子树节点的树节点旁显示加号 (+) 和减号 ( ) 按钮
ShowRootLines 属性 指示是否在树视图根处的树节点之间绘制连线
如下图二所示 为ShowLines 属性 ShowPlusMinus 属性 ShowRootLines 属性都设置为True的情形
二 为TreeView 控件添加节点
TreeView 控件的 Nodes 属性包含了它所有的节点 下面我们就来了解如何为树状控件添加节点
通过树节点编辑器添加
选中TreeView 控件 在它的属性对话框中找到Nodes 属性 然后单击它后面的省略号 弹出 树节点编辑器 如下图三所示
然后通过编辑器上的 添加根 来添加根节点 通过 添加子级 来为选中的节点添加子节点 通过 删除 来删除选定的节点 标签 输入框确定节点的名称 注意 只有设置了TreeView 控件的ImageList 属性才能选择设置节点的图像
通过编程方式添加节点
给TreeView添加结点用到的是 Nodes Add 方法 首先选定要添加子结点的结点才能应用这个方法
TreeView中的结点的组织关系是父结点管理子结点的关系 也就是说 子结点组成的集合就是父结点的 Nodes 属性 子结点的 Index 属性 是根据其在子结点集合中的位置而决定的 而不是整棵树中结点的位置 根据这个特点 若想找到指定结点须按以下的语法
TreeViewName Nodes Item(Index ) Nodes
而添加结点的方法为
TreeViewName Nodes Item(Index ) Nodes Add( NodeText )或
TreeViewName Nodes Item(Index ) Nodes Add( objNode )
如下代码所示为选中的节点添加一个子节点
TreeView SelectedNode Nodes Add( )
编程删除节点
使用Nodes属性的Remove 方法删除单个节点 也可以使用Clear 方法清除所有的节点 如下代码所示
删除选定的节点
TreeView Nodes Remove(TreeView SelectedNode)
清除TreeView 控件的所有节点
TreeView Nodes Clear()
示例演示
我们现在用一个实例来看如何使用Nodes属性来实现代码编程添加删除树形控件的节点 首先为设计如下图四所示的程序界面 其中有四个Button 控件 一个TreeView 控件
为 添加根节点 按钮添加如下代码
TreeView Nodes Add( 根节点 (TreeView GetNodeCount(False) + ))
注意 GetNodeCount方法为获得本级别的节点数 可以通过参数False来指定不包括它的子节点
为 添加子节点 按钮添加如下代码
Dim node As TreeNode = TreeView SelectedNode
If Not node Is Nothing Then
node Nodes Add( 子节点 (node GetNodeCount(False) + ))
Else
MessageBox Show( 没有选中任何节点 )
End If
注意 TreeNode GetNodeCount 方法返回的是分配给 Nodes 集合的子树节点的数目
为 删除单个节点 按钮添加代码
Dim node As TreeNode = TreeView SelectedNode
If node Is Nothing Then
MessageBox Show( 没有选中任何节点 )
Else
TreeView Nodes Remove(node)
End If
为 删除所有节点 按钮添加代码
TreeView Nodes Clear()
代码添加完毕后 运行程序 分别使用 添加根节点 添加子节点 为控件添加节点 如下图五所示
然后再试验删除节点的效果
三 访问控件的所有节点
因为Nodes集合中所包含的只是本级节点的集合 如果某个Node包含有子节点 并不会从当前的Nodes体现出来 如下代码所示 我们只能访问到所有的根节点而不是所有的节点
假定我们是在前面示例的基础上添加一个名为 遍历节点 的按钮 然后在该按钮的Click事件中添加如下代码
Dim node As TreeNode
Dim str As String =
For Each node In TreeView Nodes
str = str node Text vbCr
Next
MessageBox Show(str)
node = Nothing
运行后 先分别为控件添加若干个根节点与子节点 然后单击 遍历节点 按钮 效果如下图六所示
很明显 我们遍历了Nodes集合 但是并没有如期访问到子节点 怎么解决这个问题呢?请看下一页
如上页的问题 我们假设一个根节点的Nodes集合为Nodes 该集合中的一个Node节点为Node Node 下有若干个子节点 我们把它的子节点的集合称为Nodes 我们用For Each 遍历Nodes 时 它访问到Node 但不会访问Nodes 集合
如果我们要访问Nodes 就需要像遍历Nodes 一样遍历Nodes 解决办法如下
首先 建立一个过程用于遍历一个Node节点下的子节点
Private Sub PrintNode(ByVal N As TreeNode)
Debug WriteLine(N Text)
Dim node As TreeNode
For Each node In N Nodes
PrintNode(node)
Next
End Sub
然后把 遍历节点 的Click事件中修改为如下代码
Dim node As TreeNode
For Each node In TreeView Nodes
PrintNode(node)
Next
node = Nothing
运行后 先分别为控件添加若干个根节点与子节点 然后单击 遍历节点 按钮 然后查看 输出 窗口 效果如下图七所示
可以发现已经能真正地遍历了所有节点
lishixinzhi/Article/program/net/201311/11617
vb.net怎样判断字符串是否为数字+分隔符(如逗号,空格,tab等)+数字的格式
如果用常规编程的方法:
直接用split(str1,“,”)的形式把str1字符串分成字符串数组,然后用for循环判断每个数组元素是否是数字或者是字符串就可以了。
vb.net的split函数问题
Split只能处理一个字符作为分隔符,你这种情况得自己手工处理, 不能使用Split.
可以这样写:
s = data.Trim.Split(CChar("|"))
s(0) = s(0).Replace("file","")
用vb.net怎么连接Access数据库啊? 那个连接字符串(connectionstring)怎么写啊?
Provider=Microsoft.ACE.OLEDB.4.0;Data Source=|DataDirectory|\Temp\aaa.accdb;Persist Security Info=True
或
Provider=Microsoft.ACE.OLEDB.4.0;Data Source=|DataDirectory|\Temp\aaa.accdb;Persist Security Info=True
或
Provider = Microsoft.Jet.OLEDB.4.0;Data Source ="E:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb"
需要注意的问题。
文件夹路径中出现的空格处理,要加引号。
竖线是用来包括系统内置路径的,不能用作文件夹分隔符。
其它的没有什么大问题。
vb程序中加注释、续行符、语句分隔符的符号分别是什么?
vb程序中,加注释的符号是//或者/* */,其中//为单行注释,而/* */为多行注释。续行符是“_”,而语句的分隔符号是”:“。vb中还有其他的符号,+为连接符号、运算“和”、-为运算减号、*为运算乘号、为连接符号。
扩展资料
vb语言中的注释符号:
1、以Rem关键字开头,并且Rem关键字与注释内容之间要加一个空格。注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。
2、使用一个撇号(')来代替Rem关键字。若使用撇号,则在其他语句行使用时不必加冒号。
除了上述符号之外,vb中还有:
1、算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2、关系运算符
用于比较运算。包括大于()、小于()、等于(==)、 大于等于(=)、小于等于(=)和不等于(!=)六种。
3、逻辑运算符
用于逻辑运算。包括与()、或(||)、非(!)三种。
4、位操作运算符
参与运算的量,按二进制位进行运算。包括位与()、位或(|)、位非(~)、位异或(^)、左移()、右移()六种。
5、赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=、-=、*=、/=、%=)和复合位运算赋值(=、=、^=、=、=)三类共十一种。
6、条件运算符
这是一个三目运算符,用于条件求值(?:)。
7、逗号运算符
用于把若干表达式组合成一个表达式(,)。
8、指针运算符
用于取内容(*)和取地址()二种运算。
9、求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10、特殊运算符
有括号(),下标[]等几种。
参考资料来自:百度百科-vb语言
vb.net 有个文件路径C:\Users\New York\SoHo\abc.doc,我想从这个路径中提取出SoHo\abc.doc如何实现?
' The file system path we need to split
Dim s As String = "C:\Users\New York\SoHo\abc.doc"
' Split the string on the backslash character
Dim parts As String() = s.Split(New Char() {"\"c})
之后取数组的最后两个 用“\”连接起来就可以了。
分享文章:vb.net路径分隔符 java获取路径分隔符
当前链接:http://lswzjz.com/article/hggdsj.html