• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

VB.NET | Zapisywanie ListBox'a z Dodatkowymi informacjami w My.settings

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
275 wizyt
pytanie zadane 28 listopada 2019 w Visual Basic przez mmmx19 Nowicjusz (120 p.)

Cześć, ostatnio zacząłem nad uczeniem się listbox'ów w VB.net i chciałem stworzyć coś na styl listy uczniów z dodatkowymi informacjami:

 

    Private Class Uczniowie
        Private m_Imie As String
        Private m_Wiek As String

        Public Sub New(ByVal new_Imie As String, ByVal _
        new_Wiek As String
        )
            m_Imie = new_Imie
            m_Wiek = new_Wiek
        End Sub

        Public Overrides Function ToString() As String
            Return m_Imie
        End Function

        Public Function Wiek() As String
            Return m_Wiek
        End Function
    End Class


 

Tak więc uczniów dodaje do listboxa w następujący sposób:

 

ListBox1.Items.Add(New Uczniowie(ImieUcznia.Text, WiekUcznia.Text)) 'ImieUcznia i  WiekUcznia są textboxami.


 

lecz chciałem też zapisać te informacje, aby podczas ponownego uruchomienia programu były automatyczne wpisywane. Próbowałem zrobić najpierw event, który zapisuje każdy item z ListBoxa ale z użyciem funkcji powyżej to nie działa.

 

    Private Sub main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing

        For Each item In ListBox1.Items
            My.Settings.Uczniowie.Add(item)
            My.Settings.Save()
        Next


    End Sub


 

Potem chciałbym jeszcze załadować te informacje, ale tak samo jak przy evencie z zapisywaniem informacji przy zamykaniu programu to nie działa. Mianowicie pokazuje mi się następujący błąd:

 

Konwersja typu 'Students' na typ 'String' nie jest prawidłowa.

 

 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        If My.Settings.Uczniowie Is Nothing Then
            My.Settings.Uczniowie = New Specialized.StringCollection
        Else
            For Each item In My.Settings.Uczniowie
                ListBox1.Items.Add(item)
            Next
        End If

    End Sub

Z góry dzięki.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 300 wizyt
0 głosów
2 odpowiedzi 192 wizyt
0 głosów
0 odpowiedzi 153 wizyt
pytanie zadane 25 sierpnia 2019 w Visual Basic przez kamkow8 Początkujący (340 p.)

93,190 zapytań

142,205 odpowiedzi

322,040 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2485p. - Marcin Putra
  9. 2418p. - Michal Drewniak
  10. 2367p. - Adrian Wieprzkowicz
  11. 2317p. - Mikbac
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1628p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...