منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تلوين نص معين في التكست - نسخة قابلة للطباعة

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

الصفحات: 1 2


تلوين نص معين في التكست - mohssan - 24-08-13

السلام عليكم

شلون الون نص معين في التكست بكوكس مثلاً عندي هاذا النص

PHP كود :
textbox " السلام عليكم" 

اريد كلمة السلام بلاحمر و عليكم بلاخضر اقدر؟
اذا ما يصير على الاقل الون السطر بلون و السطر الثاني بلون


تلوين نص معين في التكست - cvcvcv - 24-08-13

في خصائص textbox
اذهب لخاصية forecolor واختر اللون المطلوب
اما الكود اللي سيادتك كاتبه خطا الصح
" السلام عليكم "= textbox1.text


تلوين نص معين في التكست - mohssan - 24-08-13

cvcvcv كتب :في خصائص textbox
اذهب لخاصية forecolor واختر اللون المطلوب
اما الكود اللي سيادتك كاتبه خطا الصح
" السلام عليكم "= textbox1.text

هع انا قلت الكود مثال
انا مو اقصد تليون النص كامل اقصد كلمة واحد بس او اثنين


تلوين نص معين في التكست - sooriaty03 - 24-08-13

السلام عليكم ورحمة الله وبركاته

أخي الكريم إذا أردت تلوين كلمة معينة فالأفضل أن تستخدم أداة RichTextBox
فهي مخصصة لمثل هذا

بالتوفيق



تلوين نص معين في التكست - sooriaty03 - 24-08-13

السلام عليكم ورحمة الله وبركاته

تفضل أخي الكريم إذا أحببت تلوين كلمة السلام بلون أزرق فاتح


كود :
[color=#0000FF]Public Class [/color][COLOR="#2B91AF"]Form1
    [/COLOR][color=#0000FF]Private Sub [/color][color=#000000]Button1_Click([/color][color=#0000FF]ByVal [/color][color=#000000]sender [/color][color=#0000FF]As [/color][color=#000000]System.[/color][color=#2B91AF]Object[/color][color=#000000], [/color][color=#0000FF]ByVal [/color][color=#000000]e [/color][color=#0000FF]As [/color][color=#000000]System.[/color][color=#2B91AF]EventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles [/color][COLOR="#000000"]Button1.Click
        [/COLOR][color=#0000FF]Dim [/color][color=#000000]Graph [/color][color=#0000FF]As [/color][color=#2B91AF]Graphics [/color][COLOR="#000000"]= TextBox1.CreateGraphics
        [/COLOR][color=#0000FF]Dim [/color][color=#000000]Point_ [/color][color=#0000FF]As [/color][color=#2B91AF]Point [/color][color=#000000]= TextBox1.GetPositionFromCharIndex(TextBox1.Text.IndexOf([/color][color=#A31515]" عليكم"[/color][COLOR="#000000"]))
        Point_.X -= 2
        Point_.Y += 1
        Graph.DrawString([/COLOR][color=#A31515]"السلام"[/color][color=#000000], TextBox1.Font, [/color][color=#2B91AF]Brushes[/color][COLOR="#000000"].Aqua, Point_)
    [/COLOR][COLOR="#0000FF"]End Sub
End Class
[/COLOR]

مع العلم أن الطريقة ستختلف في حال اختلفت اللغة




تلوين نص معين في التكست - 3booody - 24-08-13

إقتباس :يجب أن تضع للبعض سمعات قبل إعطائها إلى sooriaty03 مرة أخرى.
[COLOR="#0000CD"]
ماشاء الله تعالى ,,, جزاك الله خيرآ وزادك علمآ وجعله بميزان حسناتك
المشكلة عند تنفيذ الحدث Paint تختفي الالوان
لكن بفضلك جاءت على بالي ان اطور اداة TextBox1 بحيث تقبل الالوان اذا امكنني طبعآآ
[/COLOR]


تلوين نص معين في التكست - sooriaty03 - 24-08-13

3booody كتب :
ماشاء الله تعالى ,,, جزاك الله خيرآ وزادك علمآ وجعله بميزان حسناتك
المشكلة عند تنفيذ الحدث Paint تختفي الالوان
لكن بفضلك جاءت على بالي ان اطور اداة TextBox1 بحيث تقبل الالوان اذا امكنني طبعآآ

السلام عليكم ورحمة الله وبركاته

سلمت أخي الحبيب
أشكرك على هذه الكلمات الجميلة

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

ولكن لا صعب في البرمجة فقط نحتاج إلى أفكار

بانتظار إبداعاتك والله يوفقك



تلوين نص معين في التكست - 3booody - 24-08-13

sooriaty03 كتب :
السلام عليكم ورحمة الله وبركاته

سلمت أخي الحبيب
أشكرك على هذه الكلمات الجميلة

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

ولكن لا صعب في البرمجة فقط نحتاج إلى أفكار

بانتظار إبداعاتك والله يوفقك

[COLOR="#0000FF"]فعلآ صحيح كلامك ان شاء الله انجح فيها واكيد اذا شي صعب عليا اسألكم فيه
والسلام عليكم ورحمة الله وبركاته
[/COLOR]


تلوين نص معين في التكست - 3booody - 24-08-13

بصراحة شوي معقد تصميمها من حيث الاحداث لان مابها حدث Paint وحتى اعادة القيادة لايتم اقتناصه واذا قمنا بتحديد النص راح يتغير اللون

ضلت مشكلة الاحداث

كود :
Public Class TextBox
    Inherits System.Windows.Forms.TextBox

    Public Sub Changed_Color(ByVal txt As String, ByVal clr As Color)
        If Me.Text.Contains(txt) Then
            Dim SB As New SolidBrush(clr)
            Dim G As Graphics = CreateGraphics()
            Dim i As Integer = Text.IndexOf(txt) + Len(txt)
            Dim P As Point = GetPositionFromCharIndex(i)
            P.X -= 2
            P.Y += 1
            G.DrawString(txt, Font, SB, P)
        End If
    End Sub
    Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
        MyBase.OnTextChanged(e)
    End Sub
End Class

كود :
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        TextBox1.Changed_Color("السلام", Color.Blue)
    End Sub

فما الحل؟


تلوين نص معين في التكست - MSDOS - 24-08-13

تفضل اقتناص حدث Paint ضعها داخل كلاس الأداة
الحين ضع ما تريد داخل دالة myPaint
كود :
Const WM_NCPAINT As Integer = &H85
Protected Overrides Sub WndProc(ByRef m As Message)
    MyBase.WndProc(m)
    If m.Msg = WM_NCPAINT Then
        ' myPaint استدعاء دالة
        myPaint()
    End If
End Sub


' myPaint دالة
Private Sub myPaint()
    Dim g As Graphics = Graphics.FromHwnd(Me.Handle) ' Me.CreateGraphics
    ''
    ''
End Sub

معدل