Mein ziel war es ein Programm zu erstellen wo ich per Drag and Drop Datein in die Form ziehe, diese dann in einer Listbox gespeichert werden und ich dann ein Suchwort eingeben kann und per MessageBox die zeile und zeilen nr ausgibt, zusätzlich soll dann in der Listbox die der dateibackground blau werden.
Mit dem Drag und Drop funktionier auch alles gut nur hab ich einen großen Fehler den ich bei aller Liebe einfach nicht verstehen will.
Ich zieh die Datei rein, gebe mein Wort ein und drücke auf cmdAbfragen und....nichts passiert. Ich gebe nichts in das Suchfeld ein es wird eine Messagebox ausgegeben mitdem ersten Buchstaben der txt datei...
Pls help oder gibt mir bitte einen Tipp woran es lägen könnte notfalls geh ich dann auf googletour 2.0
Freue mich über jeglichen tipp und Hilfe und bedanke mich schonmal in Voraus
Ps.: Falsch ich das Thema falsch geöffnet hab sorry
Mit dem Drag und Drop funktionier auch alles gut nur hab ich einen großen Fehler den ich bei aller Liebe einfach nicht verstehen will.
Ich zieh die Datei rein, gebe mein Wort ein und drücke auf cmdAbfragen und....nichts passiert. Ich gebe nichts in das Suchfeld ein es wird eine Messagebox ausgegeben mitdem ersten Buchstaben der txt datei...
Pls help oder gibt mir bitte einen Tipp woran es lägen könnte notfalls geh ich dann auf googletour 2.0
Freue mich über jeglichen tipp und Hilfe und bedanke mich schonmal in Voraus
Ps.: Falsch ich das Thema falsch geöffnet hab sorry
VB.NET-Quellcode
- Public Class Form1
- Private Sub Form1_DragEnter(sender As Object, e As DragEventArgs) Handles Me.DragEnter
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- e.Effect = DragDropEffects.Copy
- End If
- End Sub
- Private Sub Form1_DragDrop(sender As Object, e As DragEventArgs) Handles Me.DragDrop
- Dim files() As String = CType(e.Data.GetData(DataFormats.FileDrop), String())
- For Each _file In files
- ListBox1.Items.Add(_file)
- Next
- End Sub
- Private Sub CmdAbfragen_Click(sender As Object, e As EventArgs) Handles cmdAbfragen.Click
- 'SuchAbfrage()
- Dim query As String = TextBox1.Text.ToLower()
- ListBox1.BeginUpdate()
- For Each _file As String In ListBox1.Items
- Dim content As String = CChar(File.ReadAllText(_file))
- Dim lines As String() = content.Split(CChar(Environment.NewLine))
- For i As Integer = 0 To lines.Length - 1
- If lines(i).ToLower().Contains(query) = True Then
- Dim lineindex As Integer = i + 1
- Dim message As String = $"{_file} - line {lineindex}: {lines(i)}"
- MessageBox.Show(message)
- ListBox1.SetSelected(ListBox1.Items.IndexOf(_file), True)
- End If
- Next
- Next
- ListBox1.EndUpdate()
- End Sub
- Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
- e.DrawBackground()
- Dim brush As Brush = Brushes.Black
- If CBool((e.State And DrawItemState.Selected)) Then
- brush = Brushes.Blue
- End If
- e.Graphics.DrawString(CStr(ListBox1.Items(e.Index)), e.Font, brush, e.Bounds, StringFormat.GenericDefault)
- e.DrawFocusRectangle()
- End Sub
- End Class
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „RyoSaki“ ()