2012-12-30 200 views
1

正如標題所示,我正在尋找一種檢測鼠標點擊的方法。我不是完全是愚蠢的,但我不能在這種情況下使用一個事件。爲什麼?因爲使用它的功能完全在另一個類中。 (我完全不知道如何把一個子例程放在一個類和一個事件中,e在一起)如何檢測鼠標點擊

那麼究竟如何檢測鼠標點擊內的子?這是Windows編程。如果你正在尋找一些代碼:

Public Class Ball 
    Public Sub ResetBall() 
     MainForm.GFX.drawstring("Click to continue", Main.GameFont, Brushes.Orange, 300, 290) 
'Here! How do I detect a click here? D: 
    End Sub 
End Class 

感謝

編輯:我發現了一個可能的解決方案是:

AwaitingClick = True 
    Main.TmrMain.Stop() 
    Main.TmrTime.Stop() 

    Main.GFX.DrawString("Click to continue", Main.GameFont, Brushes.Orange, 300, 290) 
    Main.Invalidate() 
    'How do I stop the program from continuing? D: 
    Main.TmrMain.Start() 
    Main.TmrTime.Start() 

回答

4

這是一個WinForm項目?如果是這樣,您不能「停止程序繼續」,直到發生鼠標單擊爲止,因爲UI在單個線程上運行。如果你保持UI線程忙,它將無法檢測和處理點擊。

在任何情況下,您都需要擺脫過程式編程技術,並開始以事件驅動的方式重新考慮您的設計。如果您需要顯示按鈕或標籤並等待它被點擊後才能繼續,則只需顯示按鈕或標籤,然後將其餘代碼放入該控件的單擊事件處理程序中。