资讯

精准传达 • 有效沟通

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

vb.net添加控件对象 VB中的控件

vb.net动态添加控件,并且绑定了一些事件,这些事件只能对最新生成的控件做修改,之前生成的无法修改

比如说这样添加的计时器:

成都创新互联公司是一家网站制作、成都网站制作,提供网页设计,网站设计,网站制作,建网站,定制开发,网站开发公司,公司2013年成立是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。

Dim Timer1 As New Timer

你要在合适的地方开始,比如窗体Load事件中,这样:

Timer1.Interval = 1000 '单位毫秒,1000毫秒=1秒

Timer1.Enabled = True '启用计时器

然后在代码窗口上方下拉列表里选择Timer1的Tick事件,自动添加代码:

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

End Sub

这是计时器触发的事件,每秒触发一次,在这里面输入循环判断是否有日程即可。提示:你可以用Now对象获取当前的日期和时间。

VB.NET ListView1控件添加数据

要使用ListView控件,需要加入组件:

Microsoft Windows Common Controls 6.0

Windows资源管理器的右半部分,就是一个ListView控件。

作用

列出并列关系的对象及对象属性。

ListView控件的对象层次结构

ListView -整个控件

ColumnHeaders -标题行

ColumnHeader -标题列

ListItems -对象行集合

ListItem -对象行

ListSubItems -对象属性集合

ListSubItem -对象属性

注意:SubItems和ListSubItems的区别:SubItems是一个String数组;ListSubItems是一个集合。

属性

View:设置ListView的外观

Sorted:设置ListView中的对象集合是否排序。

SortKey:设置以第几项排序。从零开始。

SelectedItem:返回选中的对象的引用。

事件

AfterLabelEdit:编辑ListItem对象的标签时被触发。

BeforeLabelEdit:编辑ListItem对象的标签后出发。

ColumnClick:单击列标题时触发。参数中可以获得被单击的列对象。通常用于排序。

ItemClick:单击某行或某ListItem时触发。参数中可以获得被单击的ListItem对象。

方法

FindItem:搜索ListItem对象。

参数:

string:搜索字符串。

value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:开始搜索的位置。

match:匹配方式。

HitTest:检索位于特定坐标处的ListItem对象。

ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。(图7)

ColumnHeader对象是ListView控件中包含标头文字的项目。利用ColumnHeader对象,用户可以:

▲单击对象触发ColumnClick事件并根据数据项目将项目排序。

▲拖动对象的右边框来调整列宽度。

▲在报表视图中隐藏ColumnHeader对象。

ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。

ColumnHeader对象的SubItemIndex属性

该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。列标头数目取决于子项目数目。列标头数目总是比子项目数目多1。

在设计时可以利用属性页的“列首”选项卡将ColumnHeader对象添加到ListView控件中,在运行时则用Add方法添加。

ColumnHeader对象的Add方法

该方法的使用与前面那些控件基本相似,就不再介绍了。

ListView1.ColumnHeader.Add(index,key,text,width,alignment)

ListItem对象是指控件中的一行(不包含标头行)的所有内容。它也可包含文本和图片,但是要使用图片则必须通过Icons和SmallIcons属性引用ImageList控件。

ListItem对象的SubItems属性

返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。

ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。

ListItem对象的Add方法

该方法添加ListItem对象到ListView控件的ListItems集合中并返回对新创建对象的引用。

它的语法如下:

ListItem1.Add(index,key,text,icon,smallIcon)

ListView控件的View属性

ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。该属性返回或设置ListView控件中ListItem对象的外观。

ListView控件的SortOrder,SortKey和Sorted属性

控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted和SortKey属性。

SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。

SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。

Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。

下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem属性的使用方法以及如何排序。

Private Sub Form_load()

'确保ListView控件的view属性为报表视图。

ListView1.View=lvwReport

'添加三列。

ListView1.ColumnHeaders.Add,"Name","姓名"

ListView1.ColumnHeaders.Add,"Sex","性别"

ListView1.ColumnHeaders.Add,"Age","年龄"

'向控件添加ListItem对象。

Dim itmX As ListItem

'添加column1的名称。

Set itmX=ListView1.ListItems.Add(1,"ZL","张力")

'使用SubItemIndex将SubItem与正确的ColumnHeader关联。使用关键字("Sex")指定正确的ColumnHeader。

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

'使用ColumnHeader关键字将SubItems字符串与

'正确的ColumnHeader关联。

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"

Set itmX=ListView1.ListItems.Add(1,"LF","李芳")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"

Set itmX=ListView1.ListItems.Add(1,"WW","王伟")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"

End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)

Select Case ColumnHeader.Key

Case "Sex":ListView1.SortKey=1

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

Case "Age":ListView1.SortKey=2

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

End Select

End Sub

如何vb中动态添加控件

VB6有一个新功能,可以动态添加控件,不用控件数组:

object.Add

(ProgID,

name,

container)

参数说明

Object

必需的。一个对象表达式,其值是“应用于”列表中的一个对象。

ProgID

必需的。一个标识控件的字符串。大多数控件的

ProgID

都可通过查看对象浏览器来决定。控件的

ProgID

是由控件的库和类组成的。

例如,CommandButton

控件的

ProgID

VB.CommandButton。在ProgID

与对象浏览器中所显示的不一样的情况下,Visual

Basic

将显示一个包括正确

ProgId

的错误信息。

name

必要的。一个字符串,用来标识集合的成员。

container

可选的。一个对象引用,它指定控件的容器。如果没有指定或为NULL,缺省值为

Controls

集合所属的容器。通过指定该参数,可以把一个控件放置在任何现存的容器控件(如

Frame

控件)中。用户控件或

ActiveX

文档也可以作为一个容器。

举例:

//在picture1上面添加一个commandbutton

Private

Sub

Form_Load()

Form1.Controls.Add

"VB.CommandButton",

"cmdOk",

Picture1

With

Form1.cmdOk

.Visible

=

True

.Width

=

500

.Caption

=

"确认(Y)"

End

With

End

Sub

当然,我个人觉得更好的办法还是用控件数组,例如现在首先建立一个TextBox控件,并把Index属性改成0(注意,原来是空的,必须写上0)。

然后在程序中任意地方,采用例如Load

TextBox1(1)就可以创建一个新的TextBox对象,通过TextBox1(1)访问。

当然你可以用循环创建指定数量的文本框,在不用的时候记得用

Unload

TextBox1(1)给他注销掉。

VB.net怎样加第三方控件

工具箱右键单击——选择项……——选择.net组件或com组件——点击“浏览”选择控件dll文件,然后工具箱中就会出现新加的控件

如何在vb.net里面动态添加控件

Private WithEvents NewTextBox As TextBox

'通过使用WithEvents关键字声明一个对象变量为新的命令按钮

Private Sub Command1_Click()

If NewTextBox Is Nothing Then

Set NewTextBox = Controls.Add("VB.TextBox", "cmdNew", Form1)

NewTextBox.Move 200, 200

NewTextBox.Width = Form1.Width - 450

NewTextBox.Height = Form1.Height - 1400

NewTextBox.Visible = True

End If

End Sub

Private Sub Command2_Click()

If NewTextBox Is Nothing Then

Exit Sub

Else

Controls.Remove NewTextBox

Set NewTextBox = Nothing

End If

End Sub


本文名称:vb.net添加控件对象 VB中的控件
URL网址:http://cdkjz.cn/article/dooijhh.html
多年建站经验

多一份参考,总有益处

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

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

大客户专线   成都:13518219792   座机:028-86922220