1

さて、私は同じラベルでこれをやろうとしています:

これ世界最も クールなレーベルです。:D

(もちろんカラーもあります)

可能です?;)

(テキストだけでなく変数を入れます)

4

3 に答える 3

2

RichTextBox といくつかのコードを使用して、実際にこれを実現できます。

フォームに RichTextBox を追加し、次のプロパティを適用するとします。

    Me.RichTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None
    Me.RichTextBox1.ReadOnly = True
    Me.RichTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None

その後、それをラベルとして使用できます。

Private Sub ConfigureRichTextLabel()

    Me.RichTextBox1.Text = ""
    Call AddTextWithFont("This is the coolest ", New Font("Arial", 12, FontStyle.Bold))
    Call AddTextWithColor("label in the world ", Color.Red)

End Sub

Private Sub AddTextWithFont(sText As String, oFont As Font)

    Dim index As Integer
    index = Me.RichTextBox1.TextLength
    Me.RichTextBox1.AppendText(sText)
    Me.RichTextBox1.SelectionStart = index
    Me.RichTextBox1.SelectionLength = Me.RichTextBox1.TextLength - index
    Me.RichTextBox1.SelectionFont = oFont

End Sub

Private Sub AddTextWithColor(sText As String, oColor As Color)

    Dim index As Integer
    index = Me.RichTextBox1.TextLength
    Me.RichTextBox1.AppendText(sText)
    Me.RichTextBox1.SelectionStart = index
    Me.RichTextBox1.SelectionLength = Me.RichTextBox1.TextLength - index
    Me.RichTextBox1.SelectionColor = oColor

End Sub

RichTextBox を RichTextLabel としてサブクラス化し、デフォルトでプロパティを適用し、メソッドをサブクラス化されたコントロールに直接追加することで、これをさらに一歩進めることができます。

Public Class RichTextLabel
    Inherits RichTextBox

    Public Sub New()
        Me.ReadOnly = True
        Me.BorderStyle = Windows.Forms.BorderStyle.None
        Me.ScrollBars = RichTextBoxScrollBars.None
    End Sub
    Private Sub AddTextWithFont(sText As String, oFont As Font)

        Dim index As Integer
        index = Me.TextLength
        Me.AppendText(sText)
        Me.SelectionStart = index
        Me.SelectionLength = Me.TextLength - index
        Me.SelectionFont = oFont

    End Sub

    Private Sub AddTextWithColor(sText As String, oColor As Color)

        Dim index As Integer
        index = Me.TextLength
        Me.AppendText(sText)
        Me.SelectionStart = index
        Me.SelectionLength = Me.TextLength - index
        Me.SelectionColor = oColor

    End Sub

End Class
于 2013-07-04T19:36:13.180 に答える
0

それができない場合の解決策はありますが、タイトルのルールに違反しているため、別のレーベルを作成する必要があります。;(

于 2013-07-04T19:31:28.717 に答える