logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak wyświetlić liczby i obsłużyć zdarzenie Quit w Windows Form?

samsung913 24 Kwi 2008 17:49 2552 12
REKLAMA
  • #1 5072898
    samsung913
    Poziom 14  
    Posty: 165
    Pomógł: 1
    Ocena: 7
    Witam!

    Chciałbym zrobić prosty programik wyświetlający wartości liczbowe w szarym polu i obsługę zdarzenia Quit - wyjście z programu. Jak to zrobić krok po kroku?

    Jak wyświetlić liczby i obsłużyć zdarzenie Quit w Windows Form?

    Dziękuję!!!!
  • REKLAMA
  • #2 5072976
    Fyszo
    Poziom 37  
    Posty: 3987
    Pomógł: 223
    Ocena: 115
    W czym to ma być? Jeśli używasz jakiegoś VCla to object pascalu masz TApplication.terminate. W C++ podobnie.
  • #3 5073286
    samsung913
    Poziom 14  
    Posty: 165
    Pomógł: 1
    Ocena: 7
    Program ma być wykonany w Visual C# 2008, może miał Pan styczność???
  • REKLAMA
  • Pomocny post
    #4 5076019
    Biegal
    Poziom 14  
    Posty: 61
    Pomógł: 8
    Ocena: 2
    Co do Quit, to w metodzie obsługi kliknięcia przycisku wpisujesz:
    Application.Exit()


    Co do obsługi wyświetlania numerków, proponuje obsłużyć zdarzenie SelectedIndexChanged obiektu ListBox, a w nim zrobić po prostu dużego switcha, który w zależności od wyboru( pole nazwakontrolki.SelectedIndex) ustawiać określony tekst w EditBoxie.

    Pozdrawiam!
  • #5 5079476
    samsung913
    Poziom 14  
    Posty: 165
    Pomógł: 1
    Ocena: 7
    A w jaki sposób zrobić tego switcha? ;)
  • REKLAMA
  • Pomocny post
    #6 5079592
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    
    switch (nazwakontrolki.SelectedIndex)
    {
         case 0: EditBox.Text="32767"; break;
         case 1: EditBox.Text=".....
    }
    

    Zapoznaj się ze składnią po prostu. (nie znam C# na marginesie, więc mogłem coś zmieszać, tym bardziej że na codzień to PAscala używam :) ) Rada - znaleźć na klawiaturze F1 i uzyć! ;)
  • #7 5079593
    samsung913
    Poziom 14  
    Posty: 165
    Pomógł: 1
    Ocena: 7
    Jak to zapisać? Nazwy w białym polu (foto wyżej) zmieniłem tak, żeby zaczynały się wielką literą. Jak należy zdefiniować instrukcję switch - case?

    Jak dokładnie zapisać kod żeby zadziałała pierwsza procedura "Int" ?

    DZIĘKI!!!!!! :)
  • #8 5079618
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    samsung913 napisał:
    Jak to zapisać?
    Co?
    samsung913 napisał:
    Nazwy w białym polu (foto wyżej) zmieniłem tak, żeby zaczynały się wielką literą.
    A co to ma do rzeczy?
    samsung913 napisał:
    Jak należy zdefiniować instrukcję switch - case?
    Definiować nic nie masz. Instrukcji się nie definiuje.
    samsung913 napisał:
    Jak dokładnie zapisać kod żeby zadziałała pierwsza procedura "Int" ?
    Jaka procedura?!
  • REKLAMA
  • #9 5079622
    samsung913
    Poziom 14  
    Posty: 165
    Pomógł: 1
    Ocena: 7
    Kliknąłem na pole textBox1 (na zdjęciu pod etykietą SampleValue) i wpisałem coś takiego:

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    switch (listBox1.SelectedIndex)
    { case 0: textBox1.Text="32767"; break;
    //case 1: textBox1.Text=
    }
    }

    Zdaje się, że zamiast 0, 1 itd.. powinno być soś innego? :) Zasadnicze pytanie - czy trzeba gdzieś tutaj uwzględniać to co wpisałem w listBox1 ? Nazwy "Int" itd,... ?

    Bardzo bym prosił o działający kod do obsługi pierwszego pola Int - żeby w textBox1 wyświetliło mi przykładową wartość typu integer :) Jak zobaczę działający przykład od razu będzie wiadomo co zrobić z pozostałymi przypadkami!

    Dziękuję uprzejmie! :) :) :)
  • Pomocny post
    #10 5079639
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    Ale zdarzenie miałeś przypisać do wyboru pozycji z listy.

    A dlaczego Ci się zdaje? własność SelectedIndex jest typu wyliczeniowego liczbowego, a więc jak chcesz coś innego wpisywać, aniżeli liczby?
    To co wpisałeś w listboxa to pozycje w liście, które indeksowane są od wartości 0, a zaznaczenie elementu powoduje przypisanie wartości jego indeksu do właściwości SelectedIndex komponentu.
    Kod masz podany już. Jesli koniecznie chcesz z liczby, to nie wiem, jak to w C# jest, ale może zmienne liczbowe posiadają także metodę toString (np: int liczba; TextBox1.Text=liczba.toString());
  • #11 5079689
    samsung913
    Poziom 14  
    Posty: 165
    Pomógł: 1
    Ocena: 7
    DZIAŁA!!! :) W polu TextBox1 wyświetliło mi cyferki po wskazaniu na Integer. Nie miałem wcześniej pojęcia, że to typ wyliczeniowy dlatego nie wiedziałem jak się do tego odwołać.

    Nasuwa mi się jeszcze pytanie?
    Dlaczego wyliczenie jest od 0 a nie od 1 ? Tzn pierwsza pozycja na liście ma index 0 ?

    BARDZO MI PAN POMÓGŁ!!!!! Dziękuję serdecznie! :)
  • #12 5079698
    Dżyszla
    Poziom 42  
    Posty: 7077
    Pomógł: 1095
    Ocena: 226
    Odpowiedź może istnieć tylko taka: bo tak. Standardem w językach programowania (a w szczególności w C i pokrewnych, gdzie tablice nie mogą być indeksowane wartościami zadanymi przez programistę) jest indeksowanie od wartości 0. Bo to tak samo, jak z pytaniem czemu znaki widzialne w kodzie ASCII zaczynają się dopiero od 32... Ktoś po prostu tak wymyślił, tak było wygodniej i aby się trzymać standardów - tak się stosuje.
  • #13 5081338
    samsung913
    Poziom 14  
    Posty: 165
    Pomógł: 1
    Ocena: 7
    Fajnie, dzięki jeszcze raz! Mam nadzieję, że będę mógł liczyć na pomoc przy następnych problemach, a na pewno takie się pojawią!

    POZDRAWIAM! :)

Podsumowanie tematu

✨ Dyskusja dotyczy stworzenia prostego programu w Visual C# 2008, który wyświetla wartości liczbowe w polu tekstowym (TextBox) oraz obsługuje zdarzenie Quit (wyjście z aplikacji). Wskazano, że do zamknięcia programu należy użyć metody Application.Exit(). Wyświetlanie liczb realizowane jest poprzez obsługę zdarzenia SelectedIndexChanged kontrolki ListBox, gdzie na podstawie indeksu wybranego elementu (SelectedIndex) stosuje się instrukcję switch-case, przypisując odpowiednią wartość tekstową do TextBox. Indeksy elementów ListBox zaczynają się od 0, co jest standardem w językach programowania pokrewnych C#. Przykładowy kod pokazuje, jak dla wybranego indeksu ustawić tekst "32767" w polu TextBox. Omówiono również, że SelectedIndex jest typu liczbowego i odpowiada pozycji elementu na liście. Dyskusja zawierała wyjaśnienie, dlaczego indeksowanie zaczyna się od 0, co jest standardem w programowaniu. Autor potwierdził działanie rozwiązania i wyraził zadowolenie z uzyskanej pomocy.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA