Veröffentlicht 12. August 201114 j Hallo, wie kann ich in Visual Basic bei einer Richtextbox den vom Benutzer ausgewählten Text formatieren (z.B. kursiv schreiben)? Habe zwar Anleitungen im Internet gefunden allerdings funktionieren diese nicht. Da Microsoft.Interop.Word.Font nicht in System.Drawing umgewandelt werden könnte.
12. August 201114 j Hi, das stichwort heißt SelectionFont. In deinem Kursivbutton sieht das wie folgt aus: Dim font as System.Drawing.Font = Richtextboxvariablenname.SelectionFont Richtextboxvariablenname.SelectionFont = new System.Drawing.Font(font.FontFamily, font.Size,font.Style ^ FontStyle.Italic, GraphicsUnit.Point) Ich weiß jetzt auf die schnelle nicht wie der Xor Operator in VB.net geht. Must du mal googlen und ^ gegebenenfalls dahingehend ändern. lg Gateway PS: Kleiner Warnhinweis. Wenn der selektierte Text verschiedenene Schritarten, Größen oder Styles hat, dann liefert SelectionFont Null oder in deinem Fall Nothing zurück. Also würd ich mich hier noch um ein entsprechendes Handling kümmern. Bearbeitet 12. August 201114 j von Gateway_man
13. August 201114 j Hallo da ich mich damit unter VB.NET auch schon rumgeschlagen habe geb ich dir noch einen Tipp dazu. Ich bin wie folgt vorgegangen: 1. Markierung merken Dim intBeginSel As Integer = Me.rtf_Text.SelectionStart Dim intAnzahlSel As Integer = Me.rtf_Text.SelectionLength Dim intEndeSel As Integer = intBeginSel + Me.rtf_Text.SelectionLength 2. FontStyle ermitteln ' Dim FirstFont As System.Drawing.Font = Me.rtf_Text.SelectionFont Dim currentFont As System.Drawing.Font = Me.rtf_Text.SelectionFont Dim newFontStyle As System.Drawing.FontStyle 3. Buchstabe für Buchstabe Neu Formatieren (Beispiel hier "Bold") While intZaehler <= intEndeSel - 1 Me.rtf_Text.Select(intZaehler, 1) currentFont = Me.rtf_Text.SelectionFont If FirstFont.Bold = True Then newFontStyle = currentFont.Style - Drawing.FontStyle.Bold Else If currentFont.Bold = False Then newFontStyle = currentFont.Style + Drawing.FontStyle.Bold End If End If Me.rtf_Text.SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle) intZaehler += 1 End While Gruß Hans-Jörg
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.