资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net控件下 vbs控件

你好,我想请教一下vb.net中怎么调用用户控件,谢谢!

关于用户控件的使用,.net与v6环境下是有那么小小的区别。v6环境下的用户控件编写后可以直接使用,而在.net环境下,则需要先生成控件库(dll,应用程序扩展格式),然后再将这个控件库导入到.net编程环境的工具箱上方可使用。其具体方法如下(以VS 2010,Visual Basic.net 为例):1、新建项目-Visual Basic-Windows-Windows 窗体控件库-键入控件库名称(默认为Usercontrol1)确定;2、设计你的用户控件,完成后按“F7”进行编译;3、在该解决方案目录下找到控件库扩展(默认为UserControl1.dll),确认项目已经生成。在上三项为控件库DLL的生成方式,下面是调用方式:4、新建项目-Visual Basic-Windows-Windows 窗体应用程序-确定;5、打开工具箱,以任意一个控件上点击右键-选择项-.net framework组件-浏览-定位到生成的控件库扩展-确定;6、在工具箱中找到新添加的用户控件,将其拖至窗体中进行设计。经测,在.net环境下编译的用户控件是通用的。也就是说使用Visual Basic.net编写的用户控件,也可以在C#工程里使用,反之亦然。这充分体现了.net语言的交互性,在我看来,.net下各种语言能力相当,它们都是作为一种中间语言,编译出中间代码。所以,在.net环境下,采用混合编程也未尝不是一样提高效率的一种可选的方式。

成都创新互联公司是一家集网站建设,爱民企业网站建设,爱民品牌网站建设,网站定制,爱民网站建设报价,网络营销,网络优化,爱民网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

如何应用VB.NET MonthCalendar控件

;   Visual Studio NET提供的MonthCalendar控件允许你选择日期和一组日期 这个控件允许用户方便地选择日期 它类似于让你选择一个特定日期的DataTimePicker控件 不过MonthCalendar控件还可以帮助你选择一个时间

使用MonthCalendar 控件

下面的例子说明如何使用MonthCalendar控件

在常用控件(Common Controls)下的工具箱(Toolbox)中找到MonthCalendar控件并将它添加到窗口表单(Window Form)中 设置以下属性

·Name mcDateSelection

·TodayDate 空

·MaxSelectionCount

·Selection Range Start 空

·Selection Range End 空

在Form Load事件中添加以下代码

mcDateSelection TodayDate = Now

然后建立列表A中的事件 在这个例子中 我设置MaxSelectionCount属性为 这意味着你只能在MonthCalendar控件中选择一个 而不是一组日期 在MonthView控件中选择一个日期 屏幕即类似于图A

图A

列表A Private Sub mcDateSelection_DateSelected(ByVal sender As Object ByVal e As System Windows Forms DateRangeEventArgs) Handles mcDateSelection DateSelected        MessageBox Show( Calendar Today s Date: mcDateSelection TodayDate vbCrLf _                Calendar Selected Start Date: mcDateSelection SelectionStart() vbCrLf _                Calendar Selected End Date: mcDateSelection SelectionEnd())    End Sub     既然你只能选择一个月中的某个特定的日期 而不是一组日期 那么 Selected Start Date和Selected End Date的值相同

现在 将MaxSelectionCount属性设为 然后重新运行代码 这次 你就可以选择一组日期(在这个例子中最多为 天) 而且 一旦你选择一组日期后 你将看到如图B所示的结果

图B

控件的其它用法

你可以利用MonthCalendar控件的许多其它属性和方法 使其满足你的需要 MSDN提供使用MonthCalendar控件的更多细节

lishixinzhi/Article/program/net/201311/11787

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控件下 vbs控件
网站URL:http://cdkjz.cn/article/docehdg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220