Laden...

mehrere Schriftarten

Letzter Beitrag vor 19 Jahren 10 Posts 2.078 Views
mehrere Schriftarten

Ich denke viele kennen ICQ und dort gibt man seinen Text ein und klickt auf senden. Der eigene Name wird anders farbig dargestellt als der von gegenüber. Ich möchte das in meinem Chat Programm auch so haben.
Ich nutze dazu die RichTextBox.

this.textBox2.Text=this.textBox2.Text+"\r\n"+Environment.UserName+" schrieb um "+DateTime.Now.ToString("H:mm:ss")+" "+ this.textBox1.Text;
					String text=Environment.UserName+" schrieb um "+DateTime.Now.ToString("H:mm:ss")+" "+ this.textBox1.Text;
					this.textBox2.SelectionStart=this.textBox2.TextLength-text.Length;
					this.textBox2.SelectionLength=user.Length;
					this.textBox2.SelectionColor=Color.Red;
					this.textBox2.SelectionFont=new Font("Comic Sans",15);

So wird der Name zwar anders hinterlegt aber bei nächsten Senden wird nur der Name welcher als letzten geschrieben wurde markiert.

Hallo alf468,

das ist ja auch kein Wunder, da du ja mit 'this.textBox2.Text=this.textBox2.Text+...' alle Formatierungen überschreibst, weil .Text ja unformatierter Text ist. Entweder du benutzt TextBox.Rtf oder TextBox.AppendText.

herbivore

Danke herbivore 👍

Guckst Du hier:

pixelgenaue positionierung von text in richtextbox

Hab da mal was gemacht...

Ist allerdings eine RTF-Box

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

Danke Programmierhans für den Hinweis,aber ich will es erstmal mit meiner Methode probieren.
Es geht auch alles soweit nur wenn ich einen farbigen Text in TextBox1 eingebe wird dieser Text nicht so in TextBox2 dargestellt.Man kann auch leider nicht die RTF Codes zusammenfügen 🙁

Original von alf468
Man kann auch leider nicht die RTF Codes zusammenfügen 😦

Wenn unterschiedliche RTF's an die RTF-Box angehängt werden entsteht daraus automatisch ein völlig neuer RTF... das funktioniert somit problemlos.

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

this.textBox2.Rtf=this.textBox2.Rtf+this.textBox1.Rtf

Das geht so nicht,denn da wird nur der Rtf Code von TextBox2 eingefügt X(

Original von alf468

this.textBox2.Rtf=this.textBox2.Rtf+this.textBox1.Rtf  

Das geht so nicht,denn da wird nur der Rtf Code von TextBox2 eingefügt X(

Ist mir doch egal... ich hab's ja auch nicht so gemacht, sondern in einer Art dass es funktioniert.... Den Link zum Code hast Du auch.... nun musst Du nur noch lesen können....

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

Ich steige nicht ganz durch 🤔
Soweit wie ich verstanden habe muss man das mit dem StringBuilder machen.

Problem gelöst