Ответ 1
Это очень легко.
Threading.Thread.Sleep(3000)
Есть ли простая функция сна в Visual Basic, которая не включает поток.
Что-то похожее, как в:
C: sleep(1);
Мы также пробовали этот код:
Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long)
' pause for 5 seconds
Sleep 5000
... но это не сработало. Это дало мне эту ошибку:
обнаружен PInvokeStackImbalance Сообщение: вызов функции PInvoke 'Ganzenbordspel! Ganzenbordspel.Spel:: Sleep' имеет несбалансированный стек. Это вероятно, потому что управляемый PInvoke подпись не соответствует неуправляемой целевая подпись. Убедитесь, что вызывающего соглашения и параметров подпись PInvoke соответствует целевой неуправляемая подпись.
Это очень легко.
Threading.Thread.Sleep(3000)
Поскольку вы спрашиваете о .NET, вы должны изменить параметр от Long
до Integer
..NET Integer 32-разрядный. (Классическое целое число VB было всего 16 бит.)
Declare Sub Sleep Lib "kernel32.dll" (ByVal Milliseconds As Integer)
Действительно, управляемый метод не является сложным...
System.Threading.Thread.CurrentThread.Sleep(5000)
Будьте осторожны, когда вы это сделаете. В приложении формы вы блокируете насос сообщений, а что нет, что делает вашу программу видимой. Редко есть sleep
хорошая идея.