منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تلوين نص معين في التكست
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم

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

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

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

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

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

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

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


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

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

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

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

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

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

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

بانتظار إبداعاتك والله يوفقك
sooriaty03 كتب :
السلام عليكم ورحمة الله وبركاته

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

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

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

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

[COLOR="#0000FF"]فعلآ صحيح كلامك ان شاء الله انجح فيها واكيد اذا شي صعب عليا اسألكم فيه
والسلام عليكم ورحمة الله وبركاته
[/COLOR]
بصراحة شوي معقد تصميمها من حيث الاحداث لان مابها حدث 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

فما الحل؟
تفضل اقتناص حدث 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

معدل
الصفحات : 1 2