Wie man nur NEUEN text aus TextBox?
private void tbLog_TextChanged(object sender, TextChangedEventArgs e)
{
//Get only NEW text added to Log
}
/*
LOG
old message...
old message...
old message...
old message...
NEW message...
NEW message...
NEW message...
NEW message...
NEW message...
*/
Wie bekomme ich nur den NEUEN text aus der TextBox?
- Vielleicht möchten Sie vielleicht, um zu verdeutlichen, was du meinst mit dem "neuen". Meinst du, ein neuer text am Ende Hinzugefügt, die seit der letzten TextChanged-Ereignis ausgelöst wurde? PS. Vielleicht schauen die TextChangedEventArgs.Änderungen Eigenschaft.
- Ich war auf der Suche in das, aber ich kann nicht den debugger, so kann ich sehen, was in e.Änderungen. Ich will einfach nur den neuen text ausgelöst hat, das TextChanged-Ereignis.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sowas?
KeyDown
Ereignis zu erfassen Tastenanschläge und speichert Sie auf Ihrem eigenen (auch speichern der cursor-position). Beachten Sie, dass dies könnte schwierig werden, wenn Sie zulassen, dass copypaste, etc. Auch ist dein text so lang?ListBox
für die Anmeldung statt? Sie wäre in der Lage für den Zugriff auf jeden Eintrag separat, der Benutzer wäre in der Lage, um zu Blättern, etc.?System.Windows.Forms
.Vielleicht sollten Sie mit Hilfe der
TextChangedEventArgs.Änderungen
Eigenschaft:foreach (var txt in newTexts) { MessageBox.Show(txt); }
. Das Protokoll wird aktualisiert.. und wenn ich entfernen Sie den code und lassen Sie die auto-scrolling-code, das funktioniert, aber sonst nichts. Auch wenn ich geradeMessageBox.Show("I WORKED");
, nichts, kein MB...Für desktop-WPF-text-Boxen, Sie sollten in der Lage sein zu verwenden TextChangedEventArgs.Änderungen zum aufzählen der änderungen. Hinweis: ein einzelnes Ereignis kann mehrere änderungen.
Den TextChange Klasse hat-Offset, AddedLength, und RemovedLength Eigenschaften, geben Sie die genaue Reichweite der Zeichen, die geändert wurden.