我在VB.NET中使用.NET Compact Framework 3.5的系统上使用VisualStudio 2008,并且有一个包含两个组件的表单,即Timers和Messageboxes。我的应用程序的一部分是一个子程序,它遍历表单中的所有控件并调整Front或BackColor等属性,以便我们可以按需重新打开整个应用程序。
虽然我正在迭代这些控件,但我还想遍历组件并在表单上设置Messageboxes的一些属性。我尝试使用For Each访问Me.components.Components,但该集合似乎是私有的。
For Each comp As Object in Me.components
<do something>
Next comp
有没有办法迭代组件?
修改
我错误地认为me.components.Component是私有的。使用Me.components.Components
我收到以下错误:
&#39;元件&#39;不是&#39; System.ComponentModel.IContainer&#34;的成员。
答案 0 :(得分:0)
你可以用这个来循环计时器:....
For Each c As Object In Me.components.Components
If TypeOf c Is Timer Then
Dim tim As Timer = CType(c, System.Windows.Forms.Timer)
tim.Interval = 12345
End If
Next
将.Interval = 12345
更改为您要对定时器执行的操作。
....并通过其他控件:
For Each ctrl As Control In Me.Controls
If (ctrl.GetType() Is GetType(TextBox)) Then
Dim txt As TextBox = CType(ctrl, TextBox)
txt.BackColor = Color.LightYellow
End If
Next
使用控件类型更改TextBox
并且.BackColor = Color.LightYellow
包含您要对控件执行的任何操作。
不幸的是,我不知道怎么做MesseageBoxes :(