提问人:DevGold 提问时间:6/16/2023 最后编辑:djvDevGold 更新时间:6/16/2023 访问量:59
VB.Net Make Event through 循环重复
VB.Net Make Event through loop was duplicated
问:
我有一个截图代码来显示事件列表是如何创建的。
While tb.MoveNext()
Try
idMenu = tb.Current.Field(Of Integer)("idMenu")
menuName = tb.Current.Field(Of String)("HeaderName")
ClassType = tb.Current?.Field(Of String)("ClassType")
newTreeItem = New TreeViewItem()
Dim clickHandler As New MouseButtonEventHandler(Sub(sender, e)
MessageBox.Show(menuName)
End Sub)
AddHandler TryCast(newTreeItem, TreeViewItem).PreviewMouseDoubleClick, clickHandler
Catch ex As Exception
End Try
End While
在上面的代码中,任何工作正常但有问题的东西总是在 while 循环的最后一个显示一个固定值。MessageBox.Show
我不知道它是如何工作的。你能帮我吗!
答:
2赞
JayV
6/16/2023
#1
我认为您遇到了一个问题,因为您在行中的设置方式:Message
Sub(sender, e) MessageBox.Show(menuName) End Sub
该变量不是 EventHandler 代码的一部分。menuName
你可以试试这个:
Sub(sender, e)
Dim localMenuName as String = tb.Current.Field(Of String)("HeaderName")
MessageBox.Show(localMenuName)
End Sub
评论
0赞
DevGold
6/16/2023
你的建议对我有很大的帮助!我尝试将声明 Dim 放入循环中,它起作用了。虽然结核病。MoveNext() 将 localMenuName 调暗为 String = tb。Current.Field(Of String)(“HeaderName”) '''' 调用事件 ''' 结束
0赞
JayV
6/16/2023
@DevGold 很高兴阅读它对你有用。请不要忘记将答案标记为已接受。
评论
newTreeItem
sender
.TryCast()
AddHandler