2012-12-30 151 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线程忙,它将无法检测和处理点击。

在任何情况下,您都需要摆脱过程式编程技术,并开始以事件驱动的方式重新考虑您的设计。如果您需要显示按钮或标签并等待它被点击后才能继续,则只需显示按钮或标签,然后将其余代码放入该控件的单击事件处理程序中。