2012-12-30 4 views
1

Как видно из названия, я ищу способ обнаружения щелчка мышью. Я не полностью глупый, но я не могу использовать событие в этом экземпляре. Зачем? Потому что функция, которая его использует, находится в другом классе. (И я понятия не имею, как поставить подпрограмму в классе и событии, e, вместе)Как обнаружить щелчок мышью

Так точно, как вы обнаруживаете щелчок мышью внутри суб? Это для программирования окон. Если вы ищете какой-то код:

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 

Благодарности

EDIT: Я нашел возможное решение этой проблемы:

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? Если это так, вы не можете «остановить программу от продолжения» до щелчка мыши, потому что пользовательский интерфейс работает в одном потоке. Если вы продолжаете заполнять поток пользовательского интерфейса, он не сможет обнаружить и обработать клик.

В любом случае вам необходимо уйти от процедур процедурного программирования и начать переосмысливать свой дизайн в соответствии с событиями. Если вам нужно отобразить кнопку или метку и дождаться ее щелчка, прежде чем продолжить, вам нужно просто отобразить кнопку или метку, а затем поместить остальную часть кода в обработчик события клика для этого элемента управления.

Смежные вопросы