JeezyWonder Ответов: 1

Цветной аналоговый код в VB6, чтобы VB.NET


Привет, я новичок в vb.net, то, что я пытаюсь сделать, это то, что textbox3 и texbox5 имеют данные, и я хочу сделать кнопку "Сравнить", когда я нажимаю на нее, она будет сопоставлять их различия данных с красными, цветными данными, которые будут показаны в texbox3. код из vb6(кстати, этот код хорошо работает):

Private Sub Command5_Click()
Dim a As Integer
Dim R1 As String
Dim r2 As String
Dim strimm As String
strimm = RichTextBox1.Text
 RichTextBox1 = Replace(strimm, vbCrLf, "")

strimm = RichTextBox2.Text
 RichTextBox2 = Replace(strimm, vbCrLf, "")
For a = 0 To Len(RichTextBox2)

RichTextBox1.SelStart = a
RichTextBox1.SelLength = 1
R1 = RichTextBox1.SelText
RichTextBox2.SelStart = a
RichTextBox2.SelLength = 1
r2 = RichTextBox2.SelText
If R1 <> r2 Then
RichTextBox1.SelColor = vbRed
End If
Next
End Sub


Что я уже пробовал:

Код, который я попробовал VB.net( он окрашивает все данные красным цветом, если только 1 не является eqaul, это ошибка, мне нужно только различать данные цветными):

Private Sub Command5_Click(sender As Object, e As EventArgs) Handles Command5.Click

        Dim a As Integer
        Dim R1 As String
        Dim r2 As String
        Dim strimm As String
        strimm = TextBox3.Text
        TextBox3.Text = Replace(strimm, vbCrLf, "")

        strimm = TextBox5.Text
        TextBox5.Text = Replace(strimm, vbCrLf, "")
        For a = 0 To TextBox5.TextLength


            TextBox3.SelectionStart = a
            TextBox3.SelectionLength = 1
            R1 = TextBox3.SelectedText
            TextBox5.SelectionStart = a
            TextBox5.SelectionLength = 1
            r2 = TextBox5.SelectedText
            If R1 <> r2 Then
                TextBox3.ForeColor = Color.Red
            End If
        Next
    End Sub

1 Ответов

Рейтинг:
8

OriginalGriff

Текстовые поля не могут быть окрашены, кроме как в целом: они не имеют никаких средств форматирования "отдельных слов".
Для этого вам придется написать свой собственный элемент управления TextBox - или использовать встроенный элемент управления RichTextBox, который будет работать почти так же, как и в вашем коде VB6...


JeezyWonder

Я заменил textbox на richtextbox, результат тот же

OriginalGriff

Ну, если только вы не изменили цвет для ссылки на выбранный текст, как это было в Примере VB6, я не удивлен...