منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] تغيير لون النص في RichTextBox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] تغيير لون النص في RichTextBox (/showthread.php?tid=13195)



تغيير لون النص في RichTextBox - Fantastico - 10-09-15

كيف استطيع تغيير لون جزء من النص فقط في RichTextBox مثلا أجعل حروف (الباء) كلها باللون الاحمر وباقي النص باللون الاسود لأجل تمييزها


RE: تغيير لون النص في RichTextBox - أبو عمر - 10-09-15

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 






المشكلة حرف واحد ما ضبط في العربي
بيمشي معك في حرفين فأكثر


RE: تغيير لون النص في RichTextBox - Fantastico - 10-09-15

أحسنت أبو عمر جزاك الله خيرا
أنا ضبط عندي حرف واحد لكن ليس عن طريق الدالة
وأيضا الظاهر ان بعض الخطوط العربية يصعب معها التلوين


RE: تغيير لون النص في RichTextBox - أبو عمر - 10-09-15

بفضل الله تم التعديل لتلوين حرف واحد فقط في كامل النص
المثال مرفق الان


[attachment=7900]

بالتوفيق يا استاذ


RE: تغيير لون النص في RichTextBox - Fantastico - 10-09-15

لك جزيل الشكر مرة أخرى يا أبا عمر


RE: تغيير لون النص في RichTextBox - الطالب - 11-09-15

سلام


كود :
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


موفقين