如何检测鼠标单击

时间:2012-12-30 17:49:30

标签: vb.net class events click

正如标题所示,我正在寻找一种方法来检测鼠标点击。我不是完全愚蠢,但我不能在这个例子中使用事件。为什么?因为使用它的功能完全在另一个类中。 (我完全不知道如何将一个子程序放在一个类和一个事件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()

1 个答案:

答案 0 :(得分:4)

这是一个WinForm项目吗?如果是这样,您不能“停止程序继续”,直到鼠标单击发生,因为UI在单个线程上运行。如果您保持UI线程忙,它将无法检测和处理点击。

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