通过名称访问表单的控件

安德里亚·阿洛伊(Andrea Aloi)

不知道这篇文章的标题是否准确。我试图通过在一个循环中“组成”它们的名称来访问Windows窗体控件及其属性,但是我似乎找不到相关的文档。使用VB.net。基本上,说我有以下几点:

Dim myDt As New DataTable

Dim row As DataRow = myDt.NewRow()

row.Item("col01") = Me.label01.Text
row.Item("col02") = Me.label02.Text
'...
row.Item("colN") = Me.labelN.Text

我想写一个for循环,而不是N个单独的指令。虽然它很简单,可以表达作业的左侧,但对于右侧,我感到很困惑:

For i As Integer = 1 to N
    row.Item(String.format("col{0:00}", i)) = ???
    ' ??? <- write "label" & i (zero-padded, like col) and use that string to access Me's control that has such name
Next

另外,我还希望能够将最终的“ .Text”属性作为字符串传递,因为在某些情况下,我需要“ Text”属性的值,在某些情况下,我需要“ Value”的值财产;一般来说,我感兴趣的属性可能是i的函数。

干杯。

史蒂夫

您可以使用ControlsCollection.Find方法并将searchAllChildren选项设置为true

For i As Integer = 1 to N
    Dim ctrl = Me.Controls.Find(string.Format("label{0:00}", i), True)
    if ctrl IsNot Nothing AndAlso ctrl.Length > 0 Then
        row.Item(String.format("col{0:00}", i)) = ctrl(0).Text
    End If
Next

有关如何使用反射来解决问题的示例,以使用字符串设置您标识的属性

Dim myLabel As Label = new Label()
Dim prop as PropertyInfo = myLabel.GetType().GetProperty("Text")
prop.SetValue(myLabel, "A Label.Text set with Reflection classes", Nothing)
Dim newText = prop.GetValue(myLabel)
Console.WriteLine(newText)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

没有名称控件为“ recipient”的表单控件的值访问器

来自分类Dev

表单标记错误:无值 > 带有名称的表单控件的访问器

来自分类Dev

Symfony-通过引用访问表单名称

来自分类Dev

从静态类访问表单控件

来自分类Dev

循环通过禁用控件的表单

来自分类Dev

如何通过标识符(名称、Uid...)访问用户控件?

来自分类Dev

通过名称访问ResourceDictionary

来自分类Dev

名称='AdjustmentBuyerPrice'的无效表单控件无法聚焦

来自分类Dev

您如何使用MVP访问表单的控件

来自分类Dev

访问子表单未绑定控件#Error

来自分类Dev

如何从类C#访问表单的控件

来自分类Dev

使用ControlContainer创建可重用的matInput组件时,“具有名称的表单控件没有值访问器”

来自分类Dev

离子:离子无线电值不适用于 formBuilder。名称为“ ”的表单控件没有值访问器

来自分类Dev

如何观看表单的valueChanges并获取表单控件名称?

来自分类Dev

如何观看表单的valueChanges并获取表单控件名称?

来自分类Dev

从用户控件中访问MainWindow中的用户控件名称

来自分类Dev

从用户控件中访问MainWindow中的用户控件名称

来自分类Dev

通过JavaScript访问表单值

来自分类Dev

通过JavaScript访问表单值

来自分类Dev

在通过的表单上访问标签

来自分类Dev

从其他表单访问VBA可见控件表单

来自分类Dev

无法通过JavaScript访问ActiveX控件

来自分类Dev

无法通过页面方法访问ServerSide控件

来自分类Dev

如何通过其ID访问控件

来自分类Dev

通过反射访问枚举名称

来自分类Dev

通过动态名称访问参数

来自分类Dev

根据其他控件验证表单控件,在验证功能中访问其他控件

来自分类Dev

jQuery访问没有类名称的表单

来自分类Dev

使用PHP从html表单访问名称属性

Related 相关文章

  1. 1

    没有名称控件为“ recipient”的表单控件的值访问器

  2. 2

    表单标记错误:无值 > 带有名称的表单控件的访问器

  3. 3

    Symfony-通过引用访问表单名称

  4. 4

    从静态类访问表单控件

  5. 5

    循环通过禁用控件的表单

  6. 6

    如何通过标识符(名称、Uid...)访问用户控件?

  7. 7

    通过名称访问ResourceDictionary

  8. 8

    名称='AdjustmentBuyerPrice'的无效表单控件无法聚焦

  9. 9

    您如何使用MVP访问表单的控件

  10. 10

    访问子表单未绑定控件#Error

  11. 11

    如何从类C#访问表单的控件

  12. 12

    使用ControlContainer创建可重用的matInput组件时,“具有名称的表单控件没有值访问器”

  13. 13

    离子:离子无线电值不适用于 formBuilder。名称为“ ”的表单控件没有值访问器

  14. 14

    如何观看表单的valueChanges并获取表单控件名称?

  15. 15

    如何观看表单的valueChanges并获取表单控件名称?

  16. 16

    从用户控件中访问MainWindow中的用户控件名称

  17. 17

    从用户控件中访问MainWindow中的用户控件名称

  18. 18

    通过JavaScript访问表单值

  19. 19

    通过JavaScript访问表单值

  20. 20

    在通过的表单上访问标签

  21. 21

    从其他表单访问VBA可见控件表单

  22. 22

    无法通过JavaScript访问ActiveX控件

  23. 23

    无法通过页面方法访问ServerSide控件

  24. 24

    如何通过其ID访问控件

  25. 25

    通过反射访问枚举名称

  26. 26

    通过动态名称访问参数

  27. 27

    根据其他控件验证表单控件,在验证功能中访问其他控件

  28. 28

    jQuery访问没有类名称的表单

  29. 29

    使用PHP从html表单访问名称属性

热门标签

归档