如何在VB.net中使用Show Event

时间:2011-11-08 12:18:12

标签: vb.net events

我尝试使用这个msdn snipped在我的表单加载后立即执行一些代码:

Private Sub Form1_Shown(sender as Object, e as EventArgs) _ 
 Handles Form1.Shown
      Some Code
End Sub

但似乎我错过了一些东西。我得到一个错误消息,翻译成这样的声音:

Handle需要一个WithEvents-Variable,它在包含的类型或其基类中定义...我的表单名为Form1,因此应该没问题。错误标记在代码的第二行。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

而不是:

Handles Form1.Shown

这样做:

Handles Me.Shown

答案 1 :(得分:1)

通常,如果您在代码中而不是在设计器中创建表单,则会出现这种错误。设计器将自动将生成的表单声明为WithEvents。如果您在代码中创建表单,则必须将其声明为WithEvents。

例如:

Public Form1 as frmMain

除非您自己添加处理程序,否则会生成该错误。

AddHandler Form1.Shown, AddressOf Form1_Shown

如果你这样做:

Public WithEvents Form1 as frmMain

不会产生错误。

如果要以这种方式使用handles子句,则必须在创建的任何对象上使用WithEvents。

答案 2 :(得分:-1)

还必须更改解决方案配置(下拉菜单[在顶部栏])
调试 发布;消息对话框工作正常;

enter image description here
消息对话框示例

Public Sub ShowEvent(sender As Object, e As EventArgs) Handles Me.Shown
        MessageBox.Show("Message Body Text", "Message Title Text",
                        MessageBoxButtons.OK)
End Sub