1

ユーザーが入力した変数といくつかの基本的な書式設定に基づいてテキストを生成するRichtextboxを作成しました-例:

name = txtname.text
richtextbox1.text = "Hello my name is " & name & "."

私がやりたいのは、このように、表示時に名前変数のテキストを斜体で設定することです。

こんにちは、私の名前はボブです。

私が見つけることができた最善の方法は、選択範囲に関するものですが、それについてはうまくいきませんでした。

乾杯!

4

3 に答える 3

1
Dim BO As New Font("Arial", 12, FontStyle.italic) ' Italic
  richtextbox1.text = "Hello my name is " 
  richtextbox1.selectionfont = BO
  richtextbox1.appendtext(name)

お役に立てれば

于 2011-06-01T07:08:20.623 に答える
1

これを試して:

Me.RichTextBox1.Rtf = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}} hello my name is \i Bob\i0 \par}"

ワードパッドを使用してサンプル テキストを記述し、それを rtf 形式で保存してから、メモ帳でファイルを開くと、何かを始めることができます。ワードパッドが追加したもの (それを生成したプログラムなど) の一部を削除できますが、少なくともコード ページと少なくとも 1 つのフォントを残す必要があるようです。

于 2011-03-19T22:02:54.503 に答える
1

これを行う小さなルーチンを書きました:

Private Sub changeRTF(ByVal strToChange As String, ByRef richTextBox As RichTextBox, ByVal color As Color, Optional ByVal ital As Boolean = False, Optional ByVal bold As Boolean = False, Optional ByVal pointSize As Single = -1)
    richTextBox.SelectionStart = richTextBox.Find(strToChange, RichTextBoxFinds.MatchCase)

    If ital And bold Then
        richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Bold + FontStyle.Italic)
    Else
        If ital Then richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Italic)
        If bold Then richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Bold)
    End If

    richTextBox.SelectionColor = color

    Dim originalFontFamily As FontFamily = richTextBox.SelectionFont.FontFamily
    Dim originalFontStyle As FontStyle = richTextBox.SelectionFont.Style

    If pointSize > 0 Then richTextBox.SelectionFont = New Font(originalFontFamily, pointSize, originalFontStyle)
End Sub

したがって、テキストを作成してから を呼び出しますchangeRTF("Bob",richtextbox1,color.gold,true)

このコードの唯一の問題は、現在、探している文字列の最初の存在しか見つけられないことです。タイトルを強調するために使用しているので、今のところ問題はありません (タイトルは繰り返しません)。

于 2012-01-03T19:08:53.077 に答える