none
ToolstripTextbox-Event wird nicht immer ausgeführt RRS feed

  • Frage

  • Hallo Leute,

    ich habe das Problem, dass ich in einer Toolstriptextbox eine Filtereingabe für ein Datagridview habe. Das funktioniert auch einwandfrei. Wenn ich aber mein Formular minimiere und wieder neu lade, wird das TextChange-Event nicht mehr ausgeführt und daher funktioniert dann meine Filterfunktion nicht mehr.

    So sieht mein Code aus:

    'Filter:

    Private Sub ToolStripTextBoxSearch_TextChanged(sender As Object, e As EventArgs) Handles ToolStripTextBoxSearch.TextChanged Dim sFilter As String = "" Select Case My.Settings.QuickFilterTask Case 0 'Alle sFilter = "[olCompanies] LIKE '*" & sender.Text & "*' Or [olSubject] Like '*" & sender.text & "*'" Case 1 'offen sFilter = "[olCompanies] LIKE '*" & sender.Text & "*' And IsComplete=False Or [olSubject] Like '*" & sender.text & "*' And IsComplete=False" Case 2 'erledigt sFilter = "[olCompanies] LIKE '*" & sender.Text & "*' And IsComplete=True Or [olSubject] Like '*" & sender.text & "*' And IsComplete=True" End Select bsSearch.RemoveFilter() bsSearch.Filter = sFilter DGVTask.DataSource = bsSearch End Sub


    'Minimize

    Private Sub FrmTaskliste_Resize(sender As Object, e As EventArgs) Handles Me.Resize If Me.WindowState = FormWindowState.Maximized Or Me.WindowState = FormWindowState.Normal Then blnNoEvent = False 'LvwTaskliste.Columns(0).Width = LvwTaskliste.Width - 25 LvwDokumente.Columns(0).Width = LvwDokumente.Width - LvwDokumente.Columns(1).Width - 25 DGVTaskliste.Columns(1).Width = DGVTaskliste.Width - DGVTaskliste.Columns(0).Width - 25 DGVTaskliste.Refresh() DGVTask.Refresh() ElseIf Me.WindowState = FormWindowState.Minimized Then With FrmStart.TasklisteÖffnenToolStripMenuItem .Text = "Taskliste anzeigen" .Visible = True End With Me.ShowInTaskbar = False End If End Sub


    Und im fmStart.NotifyIcon1 beim Doppelklick:

         Private Sub NotifyIcon1_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
    
            If x.CtrlKeyDown = False Then
    
                If FrmTaskliste.ShowInTaskbar = False Then
                    FrmTaskliste.ShowInTaskbar = True
                    FrmTaskliste.WindowState = FormWindowState.Normal
                    TasklisteÖffnenToolStripMenuItem.Visible = False
    
                    Exit Sub
                End If
    
               '[Snip = weiterer Code]
        
            Else
    
              '[Snip = weiterer Code]
    
        End Sub

    Hat einer eine Idee, wie ich das Event wieder aktiviere bzw. warum es überhaupt inaktiv wird?

    Vielen Dank im Voraus.

    Gruß Ahmed

    Mittwoch, 5. Mai 2021 07:44

Antworten

  • Hallo Leute,

    also nach meinen Recherchen scheint es wirklich ein Problem mit der ToolstripTextbox zu geben. Es soll wohl ein sog. Memory-Leck hinsichtlich der Events geben. So soll es vorkommen, dass der Event-Handler nicht immer sauber arbeitet.

    Ich habe mir jetzt so beholfen, dass ich neben einem Toolstriplabel jetzt eine normale Textbox und ein Button platziert habe. Jetzt funktioniert der Filter immer wie er soll und es sieht auch so aus, als sei die Textbox teil des Toolstrips.

    Mir reicht das so und damit ist mein Problem erst einmal abgeholfen.

    Gruß Ahmed

    Freitag, 7. Mai 2021 05:40

Alle Antworten

  • Hallo Leute,

    kann denn wirklich keiner helfen?

    Es ist ja vermutlich nur das TextChanged-Event betroffen. Das GotFocus-Event wird von meinem ToolstripTextbox einwandfrei gefeuert, daher bin ich da etwas ratlos, wo mein Fehler liegt.

    Wenn gar nichts mehr hilft, dann muss ich die Filteraktion in einem ToolstripButton auslagern, was aber nicht so "schön" wäre, wie wenn ich bei jedem Textbuchstaben gleich filtern täte.

    Gruß Ahmed

    Mittwoch, 5. Mai 2021 17:49
  • Hallo Leute,

    also nach meinen Recherchen scheint es wirklich ein Problem mit der ToolstripTextbox zu geben. Es soll wohl ein sog. Memory-Leck hinsichtlich der Events geben. So soll es vorkommen, dass der Event-Handler nicht immer sauber arbeitet.

    Ich habe mir jetzt so beholfen, dass ich neben einem Toolstriplabel jetzt eine normale Textbox und ein Button platziert habe. Jetzt funktioniert der Filter immer wie er soll und es sieht auch so aus, als sei die Textbox teil des Toolstrips.

    Mir reicht das so und damit ist mein Problem erst einmal abgeholfen.

    Gruß Ahmed

    Freitag, 7. Mai 2021 05:40