السلام عليكم
شلون الون نص معين في التكست بكوكس مثلاً عندي هاذا النص
PHP كود :
textbox = " السلام عليكم"
اريد كلمة السلام بلاحمر و عليكم بلاخضر اقدر؟
اذا ما يصير على الاقل الون السطر بلون و السطر الثاني بلون
في خصائص textbox
اذهب لخاصية forecolor واختر اللون المطلوب
اما الكود اللي سيادتك كاتبه خطا الصح
" السلام عليكم "= textbox1.text
cvcvcv كتب :في خصائص textbox
اذهب لخاصية forecolor واختر اللون المطلوب
اما الكود اللي سيادتك كاتبه خطا الصح
" السلام عليكم "= textbox1.text
هع انا قلت الكود مثال
انا مو اقصد تليون النص كامل اقصد كلمة واحد بس او اثنين
السلام عليكم ورحمة الله وبركاته
أخي الكريم إذا أردت تلوين كلمة معينة فالأفضل أن تستخدم أداة RichTextBox
فهي مخصصة لمثل هذا
بالتوفيق
بصراحة شوي معقد تصميمها من حيث الاحداث لان مابها حدث 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
معدل