VB
发布时间:2022-04-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了[VB.NET]有关控件组的问题!,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有关控件组的问题! Private Timer_BaoJing(3) As Syste
m.Timer
s.Timer Private lblAd(3) As Label 我就是想把这两个控件一一对应起来 在timer的事件里操作label,Private Sub Form1_Load(ByVal sender As Ob
ject,ByVal e As Syste
m.EventArgs) Handles Me.Load For i = 0 To 3 lblAd(i) = New Label lblAd(i).TextAlign = ContentAlignment.MiddleCenter lblAd(i).Top = 100 ''随
便给的位置 lblAd(i).Left = 100 ''随
便给的位置 lblAd(i).Visible = True lblAd(i).AutoSize =
false lblAd(i).Name = i lblAd(i).Text = i lblAd(i).Show() Me.Control
s.Add(lblAd(i)) Next ''
********************************************************** For i = 0 To 2 Timer_BaoJing(i) = New Syste
m.Timer
s.Timer Timer_BaoJing(i).AutoReset = True AddHandler Timer_BaoJing(i).Elapsed,AddressOf BaoJing_Timer Timer_BaoJing(i).Interval = 1000 * i + 3000 Timer_BaoJing(i).Enabled = True Next End Sub Private Sub BaoJing_Timer(ByVal sender As Ob
ject,ByVal e As Syste
m.Timer
s.ElapsedEventArgs) For i = 0 To 2 If sender.Equals(Timer_BaoJing(i)) Then a = i lblAd(i).
BACkColor = Color
.blue ''到这里就出错了,线程之间的问题 End If Next End Sub __________________________________________________________________________ 请问怎么在这个timer的事件里控制别的控件!??? __________________________________________________________________________ Public Class Form1 Private Timer_BaoJing(3) As Syste
m.Timer
s.Timer Private lblAd(3) As Label Private i As
Integer Private Sub Form1_Load(ByVal sender As Ob
ject,ByVal e As Syste
m.EventArgs) Handles Me.Load For i = 0 To 3 lblAd(i) = New Label lblAd(i).TextAlign = ContentAlignment.MiddleCenter lblAd(i).Top = 100 * i ''随
便给的位置 lblAd(i).Left = 100 ''随
便给的位置 lblAd(i).Visible = True lblAd(i).AutoSize =
false lblAd(i).Name = i lblAd(i).Text = i lblAd(i).Show() Me.Control
s.Add(lblAd(i)) Next ''
********************************************************** For i = 0 To 2 Timer_BaoJing(i) = New Syste
m.Timer
s.Timer Timer_BaoJing(i).AutoReset = True AddHandler Timer_BaoJing(i).Elapsed,AddressOf BaoJing_Timer Timer_BaoJing(i).Interval = 1000 * i + 1000 Timer_BaoJing(i).Enabled = True Next End Sub Private Sub BaoJing_Timer(ByVal sender As Ob
ject,ByVal e As Syste
m.Timer
s.ElapsedEventArgs) For i = 0 To 2 If sender.Equals(Timer_BaoJing(i)) Then ''a = i lblAd(i).
BACkColor = Color
.blue ''到这里就出错了,线程之间的问题 End If Next End Sub End Class 代码没什么大问题,定义一下变量i,屏蔽无用代码a=i后 可以正常运行啊。 __________________________________________________________________________ 如果有线程之间的问题,可以使用委托的方式,如: Public Class Form1 Private Timer_BaoJing(3) As Syste
m.Timer
s.Timer Private lblAd(3) As Label Private i As
Integer Private Sub Form1_Load(ByVal sender As Ob
ject,ByVal e As Syste
m.Timer
s.ElapsedEventArgs) For i = 0 To 2 If sender.Equals(Timer_BaoJing(i)) Then ''a = i ''lblAd(i).
BACkColor = Color
.blue ''到这里就出错了,线程之间的问题 Me.Invoke(New MySub(AddressOf Change
BACkColor),i) ''使用委托的方法 End If Next End Sub Private Delegate Sub MySub(ByVal i As
Integer) Private Sub Change
BACkColor(ByVal i As
Integer) lblAd(i).
BACkColor = Color
.blue End Sub End Class __________________________________________________________________________ 用
SELEct case sender.tabindex end
SELEct 这样的选择结构 __________________________________________________________________________
大佬总结
以上是大佬教程为你收集整理的[VB.NET]有关控件组的问题!全部内容,希望文章能够帮你解决[VB.NET]有关控件组的问题!所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。