我有循环来创建一个按钮列,现在我希望将事件处理程序实现到所有按钮但是不起作用。
创建按钮列的迭代
For e As Integer = 0 To 19
btnFriday(e) = New Button()
btnFriday(e).Height = 23
btnFriday(e).Width = 150
btnFriday(e).SetValue(Grid.ColumnProperty, 9)
btnFriday(e).SetValue(Grid.RowProperty, e + 1)
btnFriday(e).Click += New RoutedEventHandler(AddressOf btnBookSlot_Click)
LayoutRoot.Children.Add(btnFriday(e))
Next
我希望在单击btnFriday时执行以下事件,然后执行以下事件,该事件打开一个名为Bookslot的子窗口
Private Sub btnBookSlot_Click(sender As Object, e As RoutedEventArgs)
Dim btn As Button = DirectCast(sender, Button)
Dim bookSlot As New BookSlot()
bookSlot.show()
End Sub
我收到错误,如
公共事件点击(发件人为对象,e为 System.Windows.RoutedEventArgs)'是一个事件,无法调用 直。使用'RaiseEvent'语句来引发事件
大多数解决方案都是使用带有Silverlight的C#构建的,它们看起来效果很好。虽然我使用VB.NET与silverlight有问题吗?
答案 0 :(得分:1)
我相信你需要改变的是:
btnFriday(e).Click += New RoutedEventHandler(AddressOf btnBookSlot_Click)
要:
AddHandler btnFriday(e).Click, AddressOf btnBookSlot_Click