Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C# - TextBox nie wyświetla danych

metalMANiu 08 Wrz 2013 10:01 1254 2
  • #1 08 Wrz 2013 10:01
    metalMANiu
    Poziom 16  

    Witam,
    chciałbym napisać prosty program - stoper.
    Po naciśnięciu Buttona w TextBoxie mają się odliczać sekundy (co 1 s).
    Po ponownym naciśnięciu Buttona sekundy mają odliczać od zera.
    W tym celu wykorzystałem Thread.Sleep(1000). Oto fragment mojego kodu:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod


    Problem polega na tym, że w TextBoxie wyświetla się liczba, ale dopiero po
    wyjściu z pętli for. Do tego czasu TextBox pozostaje pusty. Kiedy dodałem
    MessageBoxa po linijce textBox1.Text=Convert.ToString(czas); to w TextBoxie
    wyświetlały się kolejne liczby, ale ten stoper miał jeden mały minus - co sekundę
    trzeba było zatwierdzać MessageBoxa :P z góry dziękuje za odpowiedzi.
    Pozdrawiam!

    0 2
  • #2 08 Wrz 2013 10:31
    D12
    Poziom 14  

    Po pierwsze to odliczanie czasu użyj w innym wątku.

    A potem do ustawienia TextBoxa możesz użyć tej funkcji:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0
  • #3 08 Wrz 2013 14:02
    metalMANiu
    Poziom 16  

    Niestety, nie rozumiem tego kodu. Nie wiem też w jaki sposób można utworzyć nowy wątek (albo wiem, ale nie wiem, że wiem). Jak widać, słabo u mnie z podstawami, mimo że miałem wiele zajęć z C#.
    Pierwszy raz widzę takie wyrażenie: "setTextBox".
    Można to wszystko wykonać w jeszcze prostszy sposób (lubię rozumieć jak działa coś, czego używam)?

    Jest, udało się. Użyłem funkcji AppendText a przed nią czyszczenie textBoxa. Kod wygląda teraz tak:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod


    Jednak da się prosto
    Dzięki Kolego D12 za odpowiedź.

    Jeszcze chcę, żeby po ponownym kliknięciu w Buttona sekundy leciały od początku. Powalczę trochę i jak nie dam rady to jeszcze napiszę w tym temacie.
    Pozdrawiam :)

    Okej, jednak do zatrzymania/wznowienia zegara potrzeba utworzyć nowy wątek. Mnie to przerasta na obecną chwilę. Temat zamykam, pozdrawiam :)

    0