我有一个自定义组件,里面有几个复选框和一个文本框;还有一个属性/变量,我称之为“秒”来存储时间。
在运行时,此自定义控件会多次添加到位于(嵌套)另外两个 TabPage 内的 TabPage。
每个控件都有一个连续的名称,这些名称是在运行时创建时分配的。
定时器Ctrl1
定时器Ctrl2
定时器Ctrl3
etc...
现在我想设置这些复选框、文本框中的文本以及按名称显示的变量秒,以从具有每个控件的名称和属性的文件中加载配置文件。
我可以使用以下代码更改在设计时创建的其他控件,例如文本框
Dim TxtIndex = ProgTab.Controls.Find(Values(0), True)
If TxtIndex.Length > 0 Then
TxtIndex(0).Text = Values(1) 'Value to TextBox
End If
但我无法以相同的方式访问我自己的自定义控件的属性。
我尝试这样做:
Dim TimerIndex = ProgTab.Controls.Find(Values(0), True)
If TimerIndex.Length > 0 Then
TimerIndex(0).seconds = Values(1) 'Syntax ERROR
End If
知道如何解决这个问题吗?
TimerIndex
将是一个控件数组(Control()
)。如果您想访问该属性,则需要将您访问的对象强制转换为特定控件。
DirectCast(TimerIndex(0), <user control type name here>).seconds = Values(1)
例如:
DirectCast(TimerIndex(0), TimerUserControl).seconds = Values(1)
- Here, TimerUserControl
是我的自定义用户控件的通用名称。
阅读更多关于DirectCast
on the MSDN 文档.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)