【问题标题】:in vb.net how do I declare a public variable from a private sub在 vb.net 中,我如何从私有子声明一个公共变量
【发布时间】:2013-06-11 17:58:00
【问题描述】:

我正在从私有子动态创建标签,并且我希望能够在用户单击它们时执行某些操作。但是,我不能使用“Dim withEvents blah...”,因为它说 withEvents 不能用于局部变量,但我也不能在我的 Private Sub 中使用“Public withEvents blah”。我该如何做到这一点?

谢谢。

【问题讨论】:

  • 在创建按钮时附加一个点击事件处理程序。

标签: vb.net variables private public


【解决方案1】:

创建动态控件时,可以为其添加处理程序

Dim mylbl As New Label
mylbl.Name = "button1"
mylbl.Text = "hi"
Me.Controls.Add(mylbl)

AddHandler lbl.Click, AddressOf AllLabels_Click

这是你的处理程序子

Sub AllLabels_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim lbl As Label = CType(sender, Label)

    MsgBox(lbl.Text)

End Sub

【讨论】:

  • 这不适用于私有变量。如果要向控件添加事件处理程序,则必须使用“withEvents”创建控件,这只能在公共变量上完成。
  • “变量”是指动态创建的控件。
  • @user2018388,Public vs Private 是如何访问它们而不是如何连接到事件!
  • @user2018388,所有动态添加的控件都必须按照 matzone 显示的方式添加处理程序。
  • @user2018388,听起来您的处理程序定义有问题。请注意,在此示例中,Sub AllLabels_Click(ByVal sender As Object, ByVal e As System.EventArgs) 之后没有 Handles 关键字。
猜你喜欢
  • 2017-05-15
  • 2018-11-12
  • 2014-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 2014-12-03
  • 2013-04-14
相关资源
最近更新 更多