我一直在尝试构建一个程序,当应用程序失去焦点时,该程序将隐藏我的winform。我能够提出一些代码,但是无法正常工作。这是我的代码:
Public Sub New()
' This call is required by the designer.
InitializeComponent()
Me.LostFocus += New EventHandler(AddressOf Form1_LostFocus)
End Sub
Private Sub Form1_LostFocus(sender As Object, e As EventArgs)
Me.WindowState = FormWindowState.Minimized
End Sub
我上线的错误:
Me.LostFocus += New EventHandler(AddressOf Form1_LostFocus)
它说公共事件是一个事件,不能直接调用。使用RaiseEvent语句引发事件。
我不知道如何使用RaiseEvent所以我正在寻找一些帮助。
答案 0 :(得分:3)
我认为您不需要以编程方式添加事件处理程序。只需将您的代码放入LostFocus
事件子
这样做:
Private Sub Form1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
Me.WindowState = FormWindowState.Minimized
End Sub
答案 1 :(得分:1)
您正在使用C#语法进行手动布线。
对于VB.Net,它应该如下所示:
AddHandler Me.LostFocus, AddressOf Form1_LostFocus
或者只是将Handles语法添加到方法中(如所示的aphoria):
Private Sub Form1_LostFocus(sender As Object, e As EventArgs) _
Handles Me.LostFocus
Me.WindowState = FormWindowState.Minimized
End Sub