Возможно, что is_mouse_down
равно false
всякий раз, когда поток попадает в эту инструкцию.Поток не будет волшебным образом ждать, пока он превратится в true
.
Однако у вас есть еще одна, более серьезная проблема, о которой нужно беспокоиться.Дело в том, что вы не можете прикоснуться ни к одному элементу пользовательского интерфейса из рабочего потока или к любому другому, кроме потока пользовательского интерфейса.Это включает в себя System.Windows.Forms.Timer
.Все виды неопределенного хаоса могут возникнуть.Ваша заявка может быть непредсказуемой и впечатляющей.
Мне не совсем понятно, зачем нужен поток.Не можете ли вы обработать событие Control.MouseDown
и включить таймер в обработчике события для этого события?Вот как бы я решил проблему.