2013-07-30 125 views
1

我一直在試圖構建一個程序,當應用程序失去焦點時會隱藏我的winform。我能夠想出一些代碼,但無法正常工作。這裏是我的代碼:當應用程序失去焦點時隱藏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,所以我正在尋找一些幫助。

回答

1

您正在使用C#語法您手動佈線。

對於VB.Net,它應該是這樣的:

AddHandler Me.LostFocus, AddressOf Form1_LostFocus 

或者只是添加手柄語法的方法(如aphoria證明):

Private Sub Form1_LostFocus(sender As Object, e As EventArgs) _ 
          Handles Me.LostFocus 
    Me.WindowState = FormWindowState.Minimized 
End Sub 
3

我不認爲你需要以編程方式添加事件處理程序。只需將您的代碼放入LostFocus事件子部分即可。

只是這樣做:

Private Sub Form1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus 
    Me.WindowState = FormWindowState.Minimized 
    End Sub 
相關問題