Wie die Nummer einer Zeile in einer RichTextBox C # angezeigt wird

8

Ich mache einen einfachen Text- und Skript-Editor mit Code-Hervorhebung. Dafür benutze ich eine RichTextBox. Aber ich weiß nicht, wie man die Zeilennummern auf der linken Seite wie in VS oder Notepad ++ zeigt. Gibt es eine Lösung?

    
fonix232 02.04.2010, 14:48
quelle

6 Antworten

16

Ich habe versucht, den Code aus den Artikeln des Codeprojekts wiederzuverwenden, auf die an anderer Stelle verwiesen wurde, aber jede Option, die ich mir angesehen habe, schien ein bisschen zu klumpig zu sein.

Also habe ich eine andere RichTextBoxEx erstellt, die Zeilennummern anzeigt.

Die Zeilennummerierung kann ein- oder ausgeschaltet werden. Es ist schnell. Es scrollt sauber. Sie können die Farbe der Zahlen, die Hintergrundfarben für einen Farbverlauf, die Randstärke, die Schriftart und die Verwendung führender Nullen auswählen. Sie können Linien wie angezeigt oder nach den harten Zeilenumbrüchen in der RTB nummerieren.

Beispiele:

Alttext http://i39.tinypic.com/13zcoz6.jpg

alt text http://i43.tinypic.com/wml2z9.jpg

Alttext http://i39.tinypic.com/25i4x3o.jpg

Es hat Einschränkungen: es zeigt Zahlen nur auf der linken Seite. Du könntest das ohne viel Aufwand ändern, wenn es dich interessiert.

Der Code ist als C # -Projekt konzipiert. Obwohl es Teil einer größeren "Lösung" ist (ein XPath-Visualisierungstool), ist die benutzerdefinierte RichTextBox als separierbare Assembly gepackt und kann in Ihren neuen Projekten verwendet werden. Fügen Sie in Visual Studio lediglich einen Verweis auf die DLL hinzu, und ziehen Sie sie per Drag & Drop auf Ihre Designoberfläche. Sie können einfach den anderen Code aus der größeren Lösung verwerfen.

Siehe den Code

    
Cheeso 19.04.2010, 14:35
quelle
0

Ich würde jede Zeile in einer Klasse speichern, die über Methoden zum Veröffentlichen in der richtextbox verfügt. In dieser Methode können Sie die Zeilennummer basierend auf ihrer Position in der Klasse voranstellen.

Zum Beispiel (sehr grob):

%Vor%     
JYelton 02.04.2010 14:54
quelle
0

Scintilla.Net Ссылка könnte die machbarste Lösung für Ihre Bedürfnisse sein. Aber für mein Projekt habe ich eine Lösung verwendet, die von Cheeso vorgeschlagen wurde (RichTextBoxEx von XPath Visualizer). Es ist einfach und schnell genug für nicht sehr große Dokumente. Alle anderen .net-Komponenten aus dem Internet waren unglaublich langsam.

    
Puterdo Borato 12.10.2010 09:31
quelle
0
%Vor%     
Pritam Zope 20.02.2016 12:40
quelle
-1

Das kannst du erreichen, indem du deine eigene Kontrolle zeichnest. Hier ist ein Beispiel, wie Sie sich selbst Link

zeichnen können     
RvdK 02.04.2010 14:53
quelle
-1

Der einfache Weg:

%Vor%     
Tom 24.11.2010 16:35
quelle

Tags und Links