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

1 回答 1

4

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

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

于 2012-12-30T21:25:24.940 回答