在Visual Basic中连接控件,控制控件

时间:2012-01-31 18:31:03

标签: vb.net visual-studio-2010 stopwatch dynamically-generated

我正在使用Visual Basic(Visual Studio 2010)来创建动态创建的控件。基本上我正在做的是创建一个标签,一个文本框,一个标签(它将作为一个秒表)和一个按钮(以控制所述秒表)。

每组控件将按行排列(并命名):

[LABEL]  [TEXTBOX]         [TIMER]       [BUTTON]
Labelx   ParticipantNamex  RingTimerx    ControlButtonx

因此,对于给定的行,我将看起来像这样:

[LABEL]  [TEXTBOX]         [TIMER]       [BUTTON]
Label1   ParticipantName1  RingTimer1    ControlButton1

我已经了解了如何动态创建元素,以及在一个面板中创建元素,在我创建的表单上将特定数字附加到其名称的末尾。我想做的是为动态创建的按钮连接事件,以控制通过同一事件创建的秒表计时器。

简而言之,我问如何连接事件以控制特别动态的按钮?

1 个答案:

答案 0 :(得分:1)

使用匿名子(仅限VB2010)编写内联事件处理程序

Timer myTimer = New Timer
Button button = New Button
AddHandler button.Click,
    Sub(s As Object, e As EventArgs)
         ' can manipulate the Timer here 
         ' because it is captured in a closure     
         myTimer.Stop    
    End Sub

改编自here

PS从我们自己的Jared中读到more about closures