2012-03-27 8 views
0

Ich habe eine RichTextBox und ich füge einige Texte programmatisch. Ich brauche die Daten in „Tabellenformat“ wie folgt angezeigt:Wie bekomme ich Tabbed-Spalte Daten in einer RichTextBox ausrichten, indem Spalte Daten zu weit zu umhüllen

product   quantity price 
The name of   1  1,00 
a product 
Second product  1  2,00 

Ich verwende selTabCount und selTabs, aber das Problem ist mit dem Text in der ersten Spalte. Wenn es breit ist, schieben sie den Rest der Linie nach rechts, wie folgt aus:

product   quantity price 
The name of a product   1  1,00  
Second product  1  2,00 

ich die Daten mit dem ersten Ansatz angezeigt werden müssen. Eigentlich möchte ich die Beschreibung in einer bestimmten Spaltenbreite umbrechen. Ist es möglich?

Thx

Antwort

1

Da Sie das RichTextBox als Grid-Control sind missbräuchlich, für das, was Sie fragen nicht nativ unterstützt wird. Ihre beste Wette ist, eine richtige Gitterkontrolle zu verwenden.

Wenn Sie weiterhin ein RichText-Steuerelement verwenden möchten, müssen Sie den Text selbst unter Verwendung der Methode .TextWidth() des Steuerelements (oder der Formulare) aufteilen und berechnen, ob es überläuft. Wenn es geht, zeige nur das Bit, das passt und lege den Rest auf die Linie nach.

Dies wird häufiger gemacht, indem die Beschreibung auf einer langen Linie gehalten wird und die Mengenwerte verschoben werden, wenn sie zu lang sind.

+0

Danke für die Antwort Deanna. Ich benutze die RTB, um einige Daten und Bilder zu formatieren und dann das ganze Zeug zum Drucker zu schicken. Also muss ich die RTB anstelle von Gridview verwenden. Aber die Idee für eine einzelne Zeile für die Beschreibung und den Rest in einer zweiten Zeile ist ein guter Ansatz. Danke – Makis

+0

Native Windows RichText-Box unterstützt Tabellen seit Vesion 2. Überprüfen Sie Beispiel 'BbCode2Rtf' Funktion hier: https://gist.github.com/2225521 – wqw