تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تغيير لون النص في RichTextBox
#1
كيف استطيع تغيير لون جزء من النص فقط في RichTextBox مثلا أجعل حروف (الباء) كلها باللون الاحمر وباقي النص باللون الاسود لأجل تمييزها
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
Public Class Form1


    Sub colorWord
(ByVal word As StringByVal color As Color' by im4dbr0
        For i As Integer = 0 To RichTextBox1.TextLength
            Try
                If RichTextBox1.Text.ElementAt(i).ToString = word.ElementAt(0).ToString Then
                    Dim found As Boolean = False
                    For j As Integer = 1 To word.Count - 1
                        If RichTextBox1.Text.ElementAt(i + j) = word.ElementAt(j) Then
                            found = True
                        Else
                            found = False
                            Exit For
                        End If
                    Next
                    If found = True Then
                        RichTextBox1.Select(i, word.Length)
                        RichTextBox1.SelectionColor = color
                    End If
                End If
            Catch ex As Exception
                Continue For
            End Try
        Next
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim Words As New List(Of String)
        Words.Add(TextBox1.Text)
        For i As Integer = 0 To Words.Count - 1
            colorWord(Words.Item(i), Color.Red)
        Next

    End Sub
End Class 






المشكلة حرف واحد ما ضبط في العربي
بيمشي معك في حرفين فأكثر
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , Fantastico , الطالب
#3
أحسنت أبو عمر جزاك الله خيرا
أنا ضبط عندي حرف واحد لكن ليس عن طريق الدالة
وأيضا الظاهر ان بعض الخطوط العربية يصعب معها التلوين
الرد }}}
تم الشكر بواسطة:
#4
بفضل الله تم التعديل لتلوين حرف واحد فقط في كامل النص
المثال مرفق الان


[attachment=7900]

بالتوفيق يا استاذ
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: الطالب
#5
لك جزيل الشكر مرة أخرى يا أبا عمر
الرد }}}
تم الشكر بواسطة:
#6
سلام


كود :
Sub RichTextBoxHighlightText(ByVal richTextBox As RichTextBox, ByVal [string] As String, ByVal color As Color)
    Dim c As Color = richTextBox.ForeColor
    richTextBox.SelectAll()
    richTextBox.SelectionColor = c
    For i = 0 To richTextBox.TextLength
        richTextBox.Find([string], i, RichTextBoxFinds.None)
        richTextBox.SelectionColor = color
    Next
    richTextBox.ForeColor = c
End Sub


موفقين
متغيب
الرد }}}



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم