Discussion:
RichText Fonts ändern
(zu alt für eine Antwort)
Volker Heil
2003-12-22 12:30:54 UTC
Permalink
Hallo alle,

ich habe ein Problem mit den Fonts bei RichTextBoxen.

Ein Button soll marierten Text Fett schreiben,
ein anderer Button soll ihn unterstreichen können:

B1.Klick:
RTB.SelectionFont = New Font("Arial", FontStyle.Bold)

B2.Klick:
RTB.SelectionFont = New Font("Arial", FontStyle.Underline)

Das klappt soweit auch. Aaaaber:
Dabei werden alle anderen Attribute jeweils wieder gelöscht.
Ich habe auch schon versucht, diese Attribute zwischenzuspeichern
und jeweils neu zu setzen (FontStyle.Underline or FontStyle.Bold).
Spätestens wenn ich Textstellen markiere, die unterschiedliche
Schriften enthalten ist das nicht mehr möglich ...

Mach' ich was flasch ?

Tschüss, Volker
Peter Fleischer
2003-12-22 13:29:26 UTC
Permalink
Post by Volker Heil
Hallo alle,
ich habe ein Problem mit den Fonts bei RichTextBoxen.
Ein Button soll marierten Text Fett schreiben,
RTB.SelectionFont = New Font("Arial", FontStyle.Bold)
RTB.SelectionFont = New Font("Arial", FontStyle.Underline)
Volker,
die FontStyles müssen logisch addiert werden!

Peter
Volker Heil
2003-12-22 14:25:34 UTC
Permalink
Hallo Peter,
Post by Peter Fleischer
Post by Volker Heil
ich habe ein Problem mit den Fonts bei RichTextBoxen.
Ein Button soll marierten Text Fett schreiben,
^^^^^^^^
Post by Peter Fleischer
die FontStyles müssen logisch addiert werden!
Wenn der markierte Text jetzt stellenweise Normalschrift und
stellenweise Fettschrift hat, wie kann ich
dann _alles zusammen_ unterstreichen lassen, ohne dass die Fettschrift
verloren geht, oder alles fett wird?

Tschüss, Volker
Peter Fleischer
2003-12-22 15:57:49 UTC
Permalink
Post by Volker Heil
Hallo Peter,
Post by Peter Fleischer
Post by Volker Heil
ich habe ein Problem mit den Fonts bei RichTextBoxen.
Ein Button soll marierten Text Fett schreiben,
^^^^^^^^
Post by Peter Fleischer
die FontStyles müssen logisch addiert werden!
Wenn der markierte Text jetzt stellenweise Normalschrift und
stellenweise Fettschrift hat, wie kann ich
dann _alles zusammen_ unterstreichen lassen, ohne dass die Fettschrift
verloren geht, oder alles fett wird?
Volker,
da musst du das selektierte Textstück analysieren, um die einzelnen
Teilbereiche zu ermitteln. Jedem Teilbereich musst du dann das betreffende
FontStyle-Bit "dazu-odern".

Peter
Volker Heil
2003-12-22 18:19:04 UTC
Permalink
Hallo Peter (und Herfried),
Post by Peter Fleischer
Post by Volker Heil
Wenn der markierte Text jetzt stellenweise Normalschrift und
stellenweise Fettschrift hat, wie kann ich
dann _alles zusammen_ unterstreichen lassen, ohne dass die Fettschrift
verloren geht, oder alles fett wird?
da musst du das selektierte Textstück analysieren, um die einzelnen
Teilbereiche zu ermitteln. Jedem Teilbereich musst du dann das betreffende
FontStyle-Bit "dazu-odern".
Das ist doch nicht euer Ernst? ECHT? Das wäre ja ein riesen Aufwand!
Ich meine mich erinnern zu können dass sowas in VB6 einfacher ging.

Das ist doch eine absolut gebräuchliche Anwendung. Buttons um einen
Text zu gestalten.

Gibt es da wirklich keinen Trick? Ich kann's garnicht glauben ...
... selbst wenn, wie kann ich denn die Selection wiederum in die
Teilbereiche zerlegen? Buchstabe für Buchstabe?

Tschüss, Volker
Peter Fleischer
2003-12-23 05:26:06 UTC
Permalink
Volker Heil wrote:
...
Post by Volker Heil
Post by Peter Fleischer
da musst du das selektierte Textstück analysieren, um die einzelnen
Teilbereiche zu ermitteln. Jedem Teilbereich musst du dann das
betreffende FontStyle-Bit "dazu-odern".
Das ist doch nicht euer Ernst? ECHT? Das wäre ja ein riesen Aufwand!
Ich meine mich erinnern zu können dass sowas in VB6 einfacher ging.
Volker,
du hast Recht. Im RichTextBox-Control in VB6 gab es z.B. die SelBold-,
SelUnterline-Eigenschaften
Post by Volker Heil
Das ist doch eine absolut gebräuchliche Anwendung. Buttons um einen
Text zu gestalten.
Gibt es da wirklich keinen Trick? Ich kann's garnicht glauben ...
Der Trick ist ganz einfach. Leite dir von dem Standard-Control ein eigenes
ab und erweitere es um die gewünschten Eigenschaften. Was hast du gegen eine
primitive Lösung in der folgenden Form?

Dim selstart As Integer = .SelectionStart
Dim sellen As Integer = .SelectionLength
.SelectionLength = 1
For i As Integer = selstart To selstart + sellen
.SelectionStart = i
.SelectionFont = New Font(.SelectionFont, FontStyle.Underline)
Next
.SelectionStart = selstart
.SelectionLength = sellen
Post by Volker Heil
... selbst wenn, wie kann ich denn die Selection wiederum in die
Teilbereiche zerlegen? Buchstabe für Buchstabe?
Wo ist das Problem? Man kann den obigen Codeauszug bestimmt noch
verbessern:-)

Peter
Volker Heil
2003-12-23 11:09:27 UTC
Permalink
Hallo Peter,
Post by Peter Fleischer
Der Trick ist ganz einfach. Leite dir von dem Standard-Control ein eigenes
ab und erweitere es um die gewünschten Eigenschaften. Was hast du gegen eine
primitive Lösung in der folgenden Form?
Dim selstart As Integer = .SelectionStart
Dim sellen As Integer = .SelectionLength
.SelectionLength = 1
For i As Integer = selstart To selstart + sellen
.SelectionStart = i
.SelectionFont = New Font(.SelectionFont, FontStyle.Underline)
New Font(.SelectionFont, FontStyle.Underline) mag er nicht.
Als ersten Parameter erwartet er _nur_ die Schriftart.
Hier muss ich wohl für absolut jedes Attribut eine Abfrage machen,
und einzeln dazu "odern".
Post by Peter Fleischer
Next
.SelectionStart = selstart
.SelectionLength = sellen
Und diese Prozedur für jedes Attribut das ich setzen
möchte nochmal. (Gut, das ließe sich vereinfachen).
OK, ich hab' ja sonst kein Hobby ;-)

<OT>
Eine der wenigen Stellen, an dene ich mir VB6 zurück wünsche ...
Aber es ist ja bald Weihnachten. Gab es da nicht die Adresse:
weihnachtsmann.gates.com/wishlist.aspx?EintragNr=19493283723
???
</OT>

Vielen Dank für die (wie immer) kompetente Hilfe in dieser Newsgroup.

Tschüss, Volker
Peter Fleischer
2003-12-23 16:29:43 UTC
Permalink
Volker Heil wrote:
...
Post by Volker Heil
Post by Peter Fleischer
.SelectionFont = New Font(.SelectionFont,
FontStyle.Underline)
New Font(.SelectionFont, FontStyle.Underline) mag er nicht.
Als ersten Parameter erwartet er _nur_ die Schriftart.
Volker,
das verstehe ich nicht. Weshalb mag er das nicht? Bei mir lief es. Die
New-Methode der Font-Klasse hat viele überladene Funktionen!

Peter
Volker Heil
2003-12-23 17:30:02 UTC
Permalink
Hallo Peter,
Post by Peter Fleischer
Post by Volker Heil
New Font(.SelectionFont, FontStyle.Underline) mag er nicht.
das verstehe ich nicht. Weshalb mag er das nicht? Bei mir lief es. Die
New-Methode der Font-Klasse hat viele überladene Funktionen!
Hmmm.
Ich hatte den Code 1:1 kopiert und ein With - End With
mit meinem Control drumgesetzt.
Dann hatte er irgendwas gemeckert, ich muss nochmal testen was es war.
Moment bitte ...
... Also da isses:

"Überladungsfunktion fehlgeschlagen ...
keine zugreifbare New ohne einschränkende Konvertierung ..."

Was sollte mir das sagen?

Tschüss, Volker
Herfried K. Wagner [MVP]
2003-12-23 17:05:47 UTC
Permalink
Post by Volker Heil
Post by Peter Fleischer
For i As Integer = selstart To selstart + sellen
.SelectionStart = i
.SelectionFont = New Font(.SelectionFont, FontStyle.Underline)
Sollte klappen, da es eine überladene Version gibt, die 'prototype As Font' und
danach 'newStyle As FontStyle' erwartet.
Post by Volker Heil
New Font(.SelectionFont, FontStyle.Underline) mag er nicht.
Als ersten Parameter erwartet er _nur_ die Schriftart.
--
Herfried K. Wagner [MVP]
<http://www.mvps.org/dotnet>
Volker Heil
2003-12-23 17:57:50 UTC
Permalink
Hallo Herfried,
Post by Herfried K. Wagner [MVP]
Sollte klappen, da es eine überladene Version gibt, die 'prototype As Font' und
danach 'newStyle As FontStyle' erwartet.
Selbst wenn es Funktionieren sollte, ich habe nicht nur vor,
die Schriftattribute zu ändern, sondern auch die Farbe und Art.
Auch bei der SchriftArt werden "Bold's" und Underline's" wieder
zurückgesetzt!

Eben ist mir noch eine andere Idee gekommen.
Ich habe beim hinzufügen von Komponenten zur Toolbox
das COM Control "Microsoft Rich Textbox Control 6.0 (SP4)
gefunden.

Was spricht dagegen, dieses zu verwenden?
Das kann alles was ich brauche!

Gibt es da Lizenz oder "Setup" Probleme?
(XCopy-Install wird da wohl nicht gehen ...)

Tschüss, Volker
Herfried K. Wagner [MVP]
2003-12-23 18:41:33 UTC
Permalink
Hallo Volker!
Post by Volker Heil
Post by Herfried K. Wagner [MVP]
Sollte klappen, da es eine überladene Version gibt, die 'prototype As Font' und
danach 'newStyle As FontStyle' erwartet.
Selbst wenn es Funktionieren sollte, ich habe nicht nur vor,
die Schriftattribute zu ändern, sondern auch die Farbe und Art.
Auch bei der SchriftArt werden "Bold's" und Underline's" wieder
zurückgesetzt!
Eben ist mir noch eine andere Idee gekommen.
Ich habe beim hinzufügen von Komponenten zur Toolbox
das COM Control "Microsoft Rich Textbox Control 6.0 (SP4)
gefunden.
Was spricht dagegen, dieses zu verwenden?
Das kann alles was ich brauche!
Gibt es da Lizenz oder "Setup" Probleme?
(XCopy-Install wird da wohl nicht gehen ...)
Das Control muss registriert werden. Eventuell kann es auch
Lizenzprobleme am Entwicklungsrechner geben, die man aber umgehen kann:

Q318597 - PRB: Errors When You Use Visual Basic 6.0 Controls in Visual Basic .NET
<http://support.microsoft.com/default.aspx?scid=kb;en-us;318597>

Soweit ich weiss, musst du zur Verwendung allerdings im Besitz von VS
6.0 bzw. der entsprechenden VB-Version, in der diese Komponente
enthalten ist, sein.

Allerdings ist von der Verwendung alter ActiveX-Komponenten abzuraten,
wenn es doch eine recht brauchbare "managed"-Version davon gibt. Mir ist
immer noch nicht ganz klar, was dir am .NET-RichTextBox-Control nicht
passt.
--
Herfried K. Wagner [MVP]
<http://www.mvps.org/dotnet>
Peter Fleischer
2003-12-23 18:50:40 UTC
Permalink
Volker Heil wrote:
...
Post by Volker Heil
Selbst wenn es Funktionieren sollte, ich habe nicht nur vor,
die Schriftattribute zu ändern, sondern auch die Farbe und Art.
Auch bei der SchriftArt werden "Bold's" und Underline's" wieder
zurückgesetzt!
Volker,
mir scheint, dein Programmzonzept erwartet von dir noch eine klitzekleine
Verbesserung:-)

Willst du mit einem Button alles ändern? Dann nimm nicht .SelectionFont als
Basis, sondern erzeuge ein Font-Objekt nach deinen Wünschen. Dort kannst du
Bold's und Underline's nach Belieben setzen. Wo ist das Problem?
Post by Volker Heil
Eben ist mir noch eine andere Idee gekommen.
Ich habe beim hinzufügen von Komponenten zur Toolbox
das COM Control "Microsoft Rich Textbox Control 6.0 (SP4)
gefunden.
Was spricht dagegen, dieses zu verwenden?
Dein Programmkomzept wird dagegen sprechen. Wenn du VB6-Controls nutzen
willst, warum schreibst du dann das Programm nicht in VB6?
Post by Volker Heil
Das kann alles was ich brauche!
Leite von der dotNET-RechTextBox einfach ein neues Control ab, was voll
deinen Wünschen entspricht. Wo ist das Problem?

Peter
Volker Heil
2003-12-23 19:34:01 UTC
Permalink
Hallo zusammen,
Post by Peter Fleischer
mir scheint, dein Programmzonzept erwartet von dir noch eine klitzekleine
Verbesserung:-)
Nur eine ?!? :-)
Post by Peter Fleischer
Willst du mit einem Button alles ändern? Dann nimm nicht .SelectionFont als
Ich sollte vieleicht kurz erläutern, worum es mir geht:
Ich habe auf einem Form 4 RTB's, die zum Teil innerhalb eines
Usercontrols stecken.

Ich möchte nun einfach nur ein paar "Formatier-Buttons" einbauen.
(Die Möglichkeiten sollen bewusst auf 4 Farben, 3 Schriftarten, Fett,
Kursiv und Unterstrichen reduziert werden)
Also ein kleines "Mini-WordPad".

Bin ich der Einzige der sowas macht?
Post by Peter Fleischer
Dein Programmkomzept wird dagegen sprechen. Wenn du VB6-Controls nutzen
willst, warum schreibst du dann das Programm nicht in VB6?
Weil für den ganzen Rest .net einfach besser ist!
Post by Peter Fleischer
Leite von der dotNET-RechTextBox einfach ein neues Control ab, was voll
deinen Wünschen entspricht. Wo ist das Problem?
Das Problem?
Weil erstens die Programmierung sehr mühsam ist (im Vergleich zu VB6,
aber das würde ich ja in Kauf nehmen)
Zweitens ich den Code von dir nicht zu laufen bekomme
(kann daran liegen, dass ich noch nicht lange mit .net zu tun habe,
und den Spass bisher eher Hobbymässig betrieben habe)
Drittens *sehr kleinlaut* wenn der Code erstmal funzt,
ich hab' noch nie ein Control von einem anderen abgeleitet.
Ist das sehr kompliziert?

Tschüss, Volker
Herfried K. Wagner [MVP]
2003-12-23 20:41:38 UTC
Permalink
Hallo Volker!
Post by Volker Heil
Ich möchte nun einfach nur ein paar "Formatier-Buttons" einbauen.
(Die Möglichkeiten sollen bewusst auf 4 Farben, 3 Schriftarten, Fett,
Kursiv und Unterstrichen reduziert werden)
Also ein kleines "Mini-WordPad".
Ich verstehe schon das bei .NET damit verbundene Problem des Änderns der
Formatierung eines Textstücks, das selbst bereits verschiedene
Formatierungen auf /Teilen/ dieses Textes aufweist, und mir fällt dazu
auch keine einfache Lösung ein.
Post by Volker Heil
ich hab' noch nie ein Control von einem anderen abgeleitet.
Ist das sehr kompliziert?
Im einfachsten Fall, wenn das Control z.B. von der Klasse 'Bar'
abgeleitet werden soll:

\\\
Public Class FooBar
Inherits Bar
End Class
///

;-)
--
Herfried K. Wagner [MVP]
<http://www.mvps.org/dotnet>
Volker Heil
2003-12-23 22:09:37 UTC
Permalink
Hallo Herfried,
Post by Herfried K. Wagner [MVP]
Im einfachsten Fall, wenn das Control z.B. von der Klasse 'Bar'
\\\
Public Class FooBar
Inherits Bar
End Class
///
Endlich mal eine Antwort, die mir richtig gut gefällt
:-)

Wenigstens weiss ich jetzt, was ich in den langweiligen
Ferientagen machen werde ...

Tausendundeinen Dank,

Volker
Peter Fleischer
2003-12-23 20:51:52 UTC
Permalink
Volker Heil wrote:
...
Post by Volker Heil
Post by Peter Fleischer
mir scheint, dein Programmzonzept erwartet von dir noch eine
klitzekleine Verbesserung:-)
Nur eine ?!? :-)
Volker,
wenigstens den Humor hast du noch nicht verloren:-)

...
Post by Volker Heil
Ich möchte nun einfach nur ein paar "Formatier-Buttons" einbauen.
(Die Möglichkeiten sollen bewusst auf 4 Farben, 3 Schriftarten, Fett,
Kursiv und Unterstrichen reduziert werden)
Also ein kleines "Mini-WordPad".
Farben: RichTextBox.SelectionColor

Schriftarten: neues Font-Objekt zuweisen; wie mit den alten Einstellungen
Fett, Kursiv und Unterstrichen zu verfahren ist, sollte im Pflichtenheft
beschrieben sein. In Word-Pad z.B. wird mit der Funktion Format/Schriftart
sehr unterschiedlich verfahren, wenn diese Formatierungen nicht, teilweise
oder ganz auf den markierten Bereich zutreffen.

Einzelformatierung: s. mein Codeschnipsel
Post by Volker Heil
Bin ich der Einzige der sowas macht?
WordPad neu erfinden? In VB.NET programmieren? Einen Codeschnipsel analog
meinem bzw. besser durchdacht zu nutzen, glaube ich, trifft bestimmt öfter
zu:-)

...
Post by Volker Heil
Post by Peter Fleischer
Leite von der dotNET-RechTextBox einfach ein neues Control ab, was
voll deinen Wünschen entspricht. Wo ist das Problem?
Das Problem?
Weil erstens die Programmierung sehr mühsam ist (im Vergleich zu VB6,
aber das würde ich ja in Kauf nehmen)
Solange du VB.NET immer mit VB6 vergleichst, wird das mühsam bleiben. VB.NET
ist eine neue Sprache mit Sprachelementen, die auch in VB6 oder in Modula-2
oder in ALGOL genutzt wurden. Trenne dich einfach von VB6 und denke nur in
Objekten mit Eigenschaften, Methoden und ggf. Ereignissen. Dann bist du
VB.NET viel näher und alles wird einfacher.
Post by Volker Heil
Zweitens ich den Code von dir nicht zu laufen bekomme
(kann daran liegen, dass ich noch nicht lange mit .net zu tun habe,
und den Spass bisher eher Hobbymässig betrieben habe)
Drittens *sehr kleinlaut* wenn der Code erstmal funzt,
ich hab' noch nie ein Control von einem anderen abgeleitet.
Ist das sehr kompliziert?
Jeder fängt mal. Nein, das ist nicht kompliziert. Schau dir mal die Hilfe zu
Inherits an oder studiere eines der vielen Bücher zu diesem Thema. Hier mal
ein Beispiel für ein eigenes DataGrid, welches vom DataGrid abgeleitet wurde
und in der Grundeinstellung roten Kopfzeilentext hat:

Friend WithEvents myDataGrid As myDataGridClass

Private Sub DataGridZuweisen()
myDataGrid = New myDataGridClass
With myDataGrid
CType(myDataGrid,
System.ComponentModel.ISupportInitialize).BeginInit()
.Location = New System.Drawing.Point(10, 10)
.Name = "DataGrid1"
.Size = New System.Drawing.Size(Me.Width - 28, Me.Height - 40)
.TabIndex = 0
Me.Controls.AddRange(New System.Windows.Forms.Control() {myDataGrid})
CType(myDataGrid, System.ComponentModel.ISupportInitialize).EndInit()
End With
End Sub

Public Class myDataGridClass
Inherits System.Windows.Forms.DataGrid
Sub New()
Me.DataMember = ""
Me.HeaderForeColor = Color.Red
End Sub
End Class

Peter
Volker Heil
2003-12-23 22:50:14 UTC
Permalink
Hallo Peter
Post by Peter Fleischer
wenigstens den Humor hast du noch nicht verloren:-)
Humor ist ... wenn man trotzdem lacht :)
Post by Peter Fleischer
Einzelformatierung: s. mein Codeschnipsel
HURAAAAAAAA !!!
Es läuft!
Ich hab den Fehler:

Dim ctlAkt As Object
ctlAkt = Form1.ActiveForm.ActiveControl()
... ' hier wird geprüft ob es eine RTB ist
With ctlAkt
...
.SelectionFont = New Font(.SelectionFont, FontStyle.Underline)

Und da knallt's, weil ctlAkt als Object deklariert ist.
Muss aber so sein, weil ich vorher noch nicht weiss,
welches Objekt gerade den Fokus hat.

Ich hab erstmal ein
Dim ctlAkt2 As RichTextBox
ctlAkt2 = ctlAkt
eingebaut, jetzt gehts.
Kann ich den Typ eleganter (im Nachhinein) festlegen?
Post by Peter Fleischer
Solange du VB.NET immer mit VB6 vergleichst, wird das mühsam bleiben. VB.NET
Ich programmiere seit dem VC20 (1 Generation vor dem C64) mit
rein prozeduralen Sprachen. (Mehr als Hobby, beruflich auch mal
kurzfristig ein wenig PIC-Assembler)
Ich bin inzwischen aber durchaus begeistert von VB.Net!
Ich habe mich auch schon weitgehend an Objekte gewöhnt,
aber es gibt ein paar Dinge, die mich wirklich zum Schwitzen
bringen. Dazu gehört das Ableiten von Klassen.
Ich glaub' ich werd' zu alt für sowas ;-)
Obwohl ich dein Beispiel durchaus verstanden habe.
Ich glaube das ist doch nicht so schwer wie ich dachte.

Aber eine Frage dazu: Kann ich diese "überarbeitete"
Komponente in der Toolbox unterbringen?
Und dann bequem in meinem Formular verwenden?
War auch die letzte Frage. Bestimmt. Für heute. :-)

Tschüss, Volker
Karsten Sosna
2003-12-24 07:15:53 UTC
Permalink
Post by Volker Heil
Dim ctlAkt As Object
ctlAkt = Form1.ActiveForm.ActiveControl()
... ' hier wird geprüft ob es eine RTB ist
With ctlAkt
...
.SelectionFont = New Font(.SelectionFont, FontStyle.Underline)
Und da knallt's, weil ctlAkt als Object deklariert ist.
Muss aber so sein, weil ich vorher noch nicht weiss,
welches Objekt gerade den Fokus hat.
Ich hab erstmal ein
Dim ctlAkt2 As RichTextBox
ctlAkt2 = ctlAkt
eingebaut, jetzt gehts.
Kann ich den Typ eleganter (im Nachhinein) festlegen?
IMHO nein, aber Du solltest die Zeile
ctlAkt2 = ctlAkt
so erweitern:
ctlAkt2 = DirectCast(ctlAkt,RichTextBox)
Wenn Du nähmlich Option Strict On schaltest(Projekteigenschaften) bekommst
Du an dieser Stelle(in Deiner Version) einen Fehler.
Post by Volker Heil
Aber eine Frage dazu: Kann ich diese "überarbeitete"
Komponente in der Toolbox unterbringen?
Und dann bequem in meinem Formular verwenden?
Füge Deinem Projekt eine Benutzersteuerelement(UserControl) hinzu.
In Quellcode ersetzt Du dann die Zeile
Inherits System.Windows.Forms.UserControl
gegen
Inherits System.Windows.Forms.RichTextBox

Danch erstellst Du das Projekt neu. Das solltest Du auch bei Änderungen am
UserControl machen.

Gruß Karsten
Volker Heil
2003-12-24 12:47:39 UTC
Permalink
Hallo Karstin,
Post by Karsten Sosna
IMHO nein, aber Du solltest die Zeile
ctlAkt2 = ctlAkt
ctlAkt2 = DirectCast(ctlAkt,RichTextBox)
Wenn Du nähmlich Option Strict On schaltest(Projekteigenschaften) bekommst
Du an dieser Stelle(in Deiner Version) einen Fehler.
Ja, genau so wollte ich das, wegen "Strict" hatte er nämlich erst
nich gewollt, als ich's aus hatte ging es.
So gefällt mir das schon viel besser :-)
Post by Karsten Sosna
Füge Deinem Projekt eine Benutzersteuerelement(UserControl) hinzu.
In Quellcode ersetzt Du dann die Zeile
Inherits System.Windows.Forms.UserControl
gegen
Inherits System.Windows.Forms.RichTextBox
Danch erstellst Du das Projekt neu. Das solltest Du auch bei Änderungen am
UserControl machen.
Suuper, danke vielstmalst,
schöne Weihnachten,

und
Tschüss, Volker

Herfried K. Wagner [MVP]
2003-12-22 15:27:37 UTC
Permalink
Hallo Peter!
Post by Peter Fleischer
Post by Volker Heil
ich habe ein Problem mit den Fonts bei RichTextBoxen.
Ein Button soll marierten Text Fett schreiben,
RTB.SelectionFont = New Font("Arial", FontStyle.Bold)
RTB.SelectionFont = New Font("Arial", FontStyle.Underline)
die FontStyles müssen logisch addiert werden!
Spätestens wenn du bei einem Textstück, das zum Teil kursiv und zum Teil
unterstrichen ist, den Font auf die oben beschriebene Weise änderst,
wird die Formatierung entweder auf das gesamte Textstück oder überhaupt
nicht angewandt.
--
Herfried K. Wagner [MVP]
<http://www.mvps.org/dotnet>
Loading...