Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Jak zrobić żeby program czekał przed następną funkcją


fluxezpl

Pytanie

Opublikowano

Czyli jak zrobić żeby np

MsgBox("Za 3sek następny msgbox")

czekaj 3 sek

MsgBox("dziala")

 

Tylko że komenda sleep nie działa :/

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano

 

System.Threading.Thread.Sleep(1000)

To jest komenda na zatrzymanie wszystkiego a ja chcę tylko danej formy.

 

Jest to metoda która wstrzymuje dzianie obecnego wątku*

Najlepszym rozwiązaniem byłoby użycie thread`ów lub tasków.

Opublikowano

Public Class Form3
    Private Sub Form3_load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
        RichTextBox1.Text += "Chceck" + vbNewLine
        Czekaj 2sec
        RichTextBox1.Text += "Check" + vbNewLine
    End Sub

 

Mógłbyś zastąpić te czekaj 2sec na to żeby czekało te 2 sec bo ja od rana szukam nie mogę nic znaleźć :/

Opublikowano

Spróbuj tak

Private Sub Form1_Load(sender As Object, e As EventArgs)
richTextBox1.Text += "Chceck"
Await Task.Delay(2000)
richTextBox1.Text += "Check"
End Sub

#edit

z tego co wiem Await zadziała tylko na net framework'u 4.5 co oznacza ze na win xp już tego nie uruchomisz

Opublikowano

Czyli jak zrobić żeby np

MsgBox("Za 3sek następny msgbox")

czekaj 3 sek

MsgBox("dziala")

 

Tylko że komenda sleep nie działa :/

Jak to metoda sleep nie działa? Daj cały kod.

Opublikowano

 

Czyli jak zrobić żeby np

MsgBox("Za 3sek następny msgbox")

czekaj 3 sek

MsgBox("dziala")

 

Tylko że komenda sleep nie działa :/

Jak to metoda sleep nie działa? Daj cały kod.

 

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        MsgBox("Siemka")

        Sleep(1000)

        MsgBox("Siemka")

 

    End Sub

 

Podkreśla że nie działa

Opublikowano

Spróbuj tak

Private Sub Form1_Load(sender As Object, e As EventArgs)
richTextBox1.Text += "Chceck"
Await Task.Delay(2000)
richTextBox1.Text += "Check"
End Sub

#edit

z tego co wiem Await zadziała tylko na net framework'u 4.5 co oznacza ze na win xp już tego nie uruchomisz

Aby użyć 'await' cala metoda lub wątek music być asynchroniczna (async)

    Private Async Function Form1_LoadAsync(sender As Object, e As EventArgs) As Task Handles MyBase.Load
        MessageBox.Show("hello")
        Await Task.Delay(2000) 'wait 2 sec
        MessageBox.Show("hello")
    End Function

btw nie polecam nauki visual basica, budowa znacznie rożni się od innych języków przez co trudniej Ci będzie nauczyć się innych.

Opublikowano

Możesz spróbować zwykłym timerem który po prostu ma ustawienie opóźnienie na 3 sekundy, według mnie najlepiej, w trakcie trwania timera można zmieniać czas co jaki się wykonuje 

NazwaTimera.Interval = 2000

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...