Hi Leute,
Ich programmier grad an einem Vokabeltrainer. Um alle Lektionen, die man schon abgeschlossen hat, mit allen Details sehen zu können, hab ich folgendes geschrieben:
Dies ist der Aufruf nach einer abgebrochenen/abgeschlossenen Lektion in der Abfrageform:
Dieser Code ist der, der Form frmResult, also die Form, in dem in einer Listview, alle Lektionen detailliert dargestellt werden sollen:
Nun funktioniert hier irgendetwas nicht richtig. Nach dem Aufruf kommt eine leere Listview. Wenn ich ein zweites Mal die Form öffnen will, ohne die Anwendung zwischendurch neu zu starten, wird gleich kein Fenster angezeigt.
An was kann das liegen?
MFG
Ich programmier grad an einem Vokabeltrainer. Um alle Lektionen, die man schon abgeschlossen hat, mit allen Details sehen zu können, hab ich folgendes geschrieben:
Dies ist der Aufruf nach einer abgebrochenen/abgeschlossenen Lektion in der Abfrageform:
VB.NET-Quellcode
- frmResult.ShowDialog()
- Dim LVI As New ListViewItem
- LVI.Text = Lektion
- LVI.SubItems.Add(Now.ToString)
- LVI.SubItems.Add("Abgebrochen")
- LVI.SubItems.Add((CInt(Label_Richtige.Text) + CInt(Label_Fehler.Text) + Liste.Count).ToString)
- LVI.SubItems.Add(Label_Richtige.Text)
- LVI.SubItems.Add(Label_Fehler.Text)
- LVI.SubItems.Add(Label_Fehlerquote.Text)
- frmResult.AddItem(LVI)
- Me.Close()
Dieser Code ist der, der Form frmResult, also die Form, in dem in einer Listview, alle Lektionen detailliert dargestellt werden sollen:
VB.NET-Quellcode
- Option Strict On
- Public Class frmResult
- Private Sub Auswertung_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
- LVISave()
- End Sub
- Private Sub Einheitenliste_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- LVILoad()
- End Sub
- Private Sub LVISave()
- Using Writer As New System.IO.StreamWriter(System.IO.File.Open(IO.Path.GetDirectoryName(Application.ExecutablePath) & "\Vokabeltrainer\Auswertung.ini", IO.FileMode.Create))
- For Each Lektion As ListViewItem In ListView1.Items
- Dim EinheitStr As String = Lektion.Text
- For Each Item As ListViewItem.ListViewSubItem In Lektion.SubItems
- EinheitStr &= "|" & Item.Text
- Next
- Writer.WriteLine(EinheitStr)
- Next
- End Using
- End Sub
- Private Sub LVILoad()
- ListView1.Items.Clear()
- Using Reader As New System.IO.StreamReader(System.IO.File.Open(Application.ExecutablePath & "\Vokabeltrainer\Auswertung.ini", System.IO.FileMode.Open))
- While Not Reader.EndOfStream
- Dim Line As String = Reader.ReadLine
- Line = Line.Substring(Line.Split("|"c).First.Length)
- Dim LVI As New ListViewItem
- LVI.Text = Line.Split("|"c).First
- For Each SubItem As String In Line.Split("|"c)
- LVI.SubItems.Add(SubItem)
- Next
- ListView1.Items.Add(LVI)
- End While
- End Using
- End Sub
- Public Sub AddItem(ByVal LVI As ListViewItem)
- LVILoad()
- ListView1.Items.Add(LVI)
- LVISave()
- End Sub
- End Class
Nun funktioniert hier irgendetwas nicht richtig. Nach dem Aufruf kommt eine leere Listview. Wenn ich ein zweites Mal die Form öffnen will, ohne die Anwendung zwischendurch neu zu starten, wird gleich kein Fenster angezeigt.
An was kann das liegen?
MFG
Auf der Suche nach Coding-Kursen auf Lence.at