• 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

Object Storage Arubacloud
0 głosów
261 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ź 243 wizyt
0 głosów
2 odpowiedzi 144 wizyt
0 głosów
0 odpowiedzi 130 wizyt
pytanie zadane 25 sierpnia 2019 w Visual Basic przez kamkow8 Początkujący (340 p.)

92,550 zapytań

141,392 odpowiedzi

319,519 komentarzy

61,935 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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 10% 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!

...