So zeigen Sie die Nummer der Zeile in einer RichTextBox-Steuerelement, C#
Ich bin eine einfache text-und script-editor mit code-Hervorhebung. Dafür verwende ich eine RichTextBox. Aber ich weiß nicht wie man es zeigen Sie die Zeilen-Nummern auf der linken Seite, wie in VS oder Notepad++. Gibt es eine Lösung?
- Überprüfen Sie heraus dieses Projekt auf Code-Projekt - codeproject.com/KB/edit/numberedtextbox.aspx
- Vielleicht sollten Sie nehmen Sie die gleiche Kontrolle wie Notepad++. Dies ist Scintilla.Net: scintillanet.codeplex.com
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchte ich re-verwenden Sie den code von codeproject Artikel anderswo verwiesen, aber jede option, die ich sah, schien ein wenig zu notdürftigem.
Also baute ich ein anderes RichTextBoxEx, dass zeigt Zeilennummern.
Die Zeilennummerierung kann ein-oder ausgeschaltet werden. Es ist schnell. Es scrollt sauber. Sie können wählen Sie die Farbe der zahlen, die hintergrund-Farben für einen Farbverlauf, die Rahmenstärke, die schriftart, ob mit führenden Nullen. Sie können die Anzahl Linien "wie angezeigt" oder nach der harten Zeilenumbrüche in die RTB.
Beispiele:
Es hat Beschränkungen: es zeigt die zahlen nur auf der linken Seite. Sie könnte das ändern, ohne zu viel Mühe, wenn Sie gepflegt.
Des Kodex als C# - Projekt. Obwohl es Teil eines größeren "Lösung" (einen XPath-Visualisierungs-tool), die benutzerdefinierte RichTextBox ist verpackt wie eine Montage trennbar, und ist bereit, für Ihre neuen Projekte. In Visual Studio fügen Sie einfach einen Verweis auf die DLL, und Sie können per drag-und-drop auf der design-Oberfläche. Sie können einfach zu verwerfen, die andere code von der größeren Lösung.
Siehe den code
Ich würde store jede Zeile in eine Klasse, die die Methoden veröffentlichen, um das richtextbox-Steuerelement. In dieser Methode könnte man voranstellen der Zeilennummer bezogen auf seine position in der Klasse.
Beispiel (sehr grob):
Scintilla.Net http://scintillanet.codeplex.com/ könnte die praktikabelste Lösung für Ihre Bedürfnisse.
Aber für mein Projekt habe ich verwendet, Lösung von Cheeso (RichTextBoxEx von XPath visualizer). Es ist einfach und schnell genug für die nicht sehr großen Dokumenten.
Alle anderen .net-Komponenten aus dem internet waren unglaublich langsam.
Der einfache Weg:
Können Sie erreichen, dass durch die Erstellung Ihrer eigenen Kontrolle.
Hier ist ein Beispiel, wie man sich selbst ziehen link