• 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

Hosting forpsi easy 1 pln
0 głosów
244 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ź 200 wizyt
0 głosów
2 odpowiedzi 134 wizyt
0 głosów
0 odpowiedzi 122 wizyt
pytanie zadane 25 sierpnia 2019 w Visual Basic przez kamkow8 Początkujący (340 p.)

92,086 zapytań

140,745 odpowiedzi

317,705 komentarzy

61,407 pasjonatów

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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 15% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...