永发信息网

用VB能不能枚举一个窗体里所有控件呢?

答案:4  悬赏:40  手机版
解决时间 2021-02-07 19:40
  • 提问者网友:聂風
  • 2021-02-07 13:51
用VB能不能枚举一个窗体里所有控件呢?
最佳答案
  • 五星知识达人网友:鱼芗
  • 2021-02-07 13:57
Private Sub Form_Load()
a = Controls.Count
End Sub
上面的是返回窗口的容器的个数

Controls(n)的方法得到具体的控件

msdn帮助的内容
Controls集合

一个集合,其元素代表部件中的控件。 Controls集合的Count属性用于表明集合中的控件数量,而其Item方法则返回集合中的一个成员。

语法

object.Controls.Count

object.Controls(index)

Controls 集合的语法包括下述部分:

部分 描述
Object 一个对象表达式,其值为“应用于”列表中的对象。
Index 一个整数,范围从0到Controls.Count – 1。

注意 如果部件是一个Visual Basic模块,如Form或UserControl,则在模块中编写代码时不必使用该对象表达式。然而,如果容器是一个编译后的ActiveX控件,如ToolBar控件,则必须使用该对象表达式。

说明

Controls集合枚举部件中装入的控件,可用于对这些控件的遍历。例如,可以用来改变一个Form中所有Label控件的BackColor属性。

Controls集合标识了一个内在的名为Controls的窗体级变量。如果省略了可选的object 占位符,则必须包括Controls关键字。不过,如果包括了object,则可以省略Controls关键字。例如,下面两行代码具有相同的作用:

MyForm.Controls(6).Top = MyForm.Controls(5).Top + increment
MyForm(6).Top = MyForm(5).Top + increment

可以将Controls(index)传递给一个参数指定为Controls类的函数。也可以使用它们的名称来访问成员。例如:

Controls("Command1").Top

可以在If语句中使用 TypeOf关键字,或使用TypeName函数来确定Controls集合中控件的类型。

注意 Controls 集合不是Visual Basic Collection类的成员。其属性和方法的集合要小于Collection对象的属性和方法的集合,而且用户不能创建该集合的实例。
全部回答
  • 1楼网友:青灯有味
  • 2021-02-07 16:34
可以这样: Dim obj As Object For each obj in Me 'You dealling code next obj
  • 2楼网友:末日狂欢
  • 2021-02-07 15:18
  • 3楼网友:蓝房子
  • 2021-02-07 14:59
可以,代码如下: Dim a As Control For Each a In Me.Controls Debug.Print a.Name Next
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯