المشاركات : 58
المواضيع 12
الإنتساب : Sep 2016
السمعة :
2
الشكر: 22
تم شكره 47 مرات في 32 مشاركات
السلام عليكم
عندي نص في ادات richtextbox1
اريد عند كتابة كلمة او جملة في textbox اد كانت موجودة في richtextbox1 توضع فوق تلك الجملة او الكلمة ادات label
مع مراعات ان الجملة قد تكون في اكثر من سطر
ملاحظة label توضع على الجملة التي في ادات richtextbox1
هل هدا ممكن با vb.net
المشاركات : 664
المواضيع 32
الإنتساب : Oct 2013
السمعة :
81
الشكر: 776
تم شكره 992 مرات في 298 مشاركات
02-01-20, 02:15 PM
(آخر تعديل لهذه المشاركة : 02-01-20, 02:17 PM {2} بواسطة 3booody.)
السلام عليكم ورحمة الله وبركاته
نعم اخي ممكن عملتك كود يضع ليبل بلون احمر فوق الكلمة المطابقة
وضعتها بزر بوتون
كود :
Dim lbl As Label = Nothing
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Do
Application.DoEvents()
Dim index As Integer = RichTextBox1.Find(TextBox1.Text)
Dim p As Point = RichTextBox1.GetPositionFromCharIndex(index)
If RichTextBox1.SelectedText <> "" Then
lbl = New Label With {.Text = TextBox1.Text, .ForeColor = Color.Red _
, .Location = New Point(p.X, p.Y), .AutoSize = True}
RichTextBox1.SelectedText = ""
RichTextBox1.Controls.Add(lbl)
Else
Exit Do
End If
Loop
End Sub
المشاركات : 58
المواضيع 12
الإنتساب : Sep 2016
السمعة :
2
الشكر: 22
تم شكره 47 مرات في 32 مشاركات
10-01-20, 05:19 PM
(آخر تعديل لهذه المشاركة : 10-01-20, 06:03 PM {2} بواسطة al9atl.)
(02-01-20, 02:15 PM)3booody كتب : السلام عليكم ورحمة الله وبركاته
نعم اخي ممكن عملتك كود يضع ليبل بلون احمر فوق الكلمة المطابقة
وضعتها بزر بوتون
كود :
Dim lbl As Label = Nothing
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Do
Application.DoEvents()
Dim index As Integer = RichTextBox1.Find(TextBox1.Text)
Dim p As Point = RichTextBox1.GetPositionFromCharIndex(index)
If RichTextBox1.SelectedText <> "" Then
lbl = New Label With {.Text = TextBox1.Text, .ForeColor = Color.Red _
, .Location = New Point(p.X, p.Y), .AutoSize = True}
RichTextBox1.SelectedText = ""
RichTextBox1.Controls.Add(lbl)
Else
Exit Do
End If
Loop
End Sub
السلام عليكم
جربت الكود لكن لا يعمل جيدا عندما اختار كلمة لا توضع فوقها بدقة
و عندما اختار جملة لا توضع فوقها نهائيا توضع في اعلى richtextbox
المشاركات : 664
المواضيع 32
الإنتساب : Oct 2013
السمعة :
81
الشكر: 776
تم شكره 992 مرات في 298 مشاركات
الكود يعمل جيدآ على اللغة الانكليزية
غير الخاصية RightToLeft للاداة وغير بهذا الشكل للغة العربية
كود :
Dim lbl As Label = Nothing
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Do
Application.DoEvents()
Dim index As Integer = RichTextBox1.Find(TextBox1.Text)
Dim p As Point = RichTextBox1.GetPositionFromCharIndex(index)
If RichTextBox1.SelectedText <> "" Then
lbl = New Label With {.Text = TextBox1.Text, .ForeColor = Color.Red _
, .Location = New Point(p.X, p.Y), .AutoSize = True, .RightToLeft = Windows.Forms.RightToLeft.Yes, .TextAlign = ContentAlignment.MiddleLeft}
RichTextBox1.SelectedText = ""
RichTextBox1.Controls.Add(lbl)
Else
Exit Do
End If
Loop
End Sub
المشاركات : 58
المواضيع 12
الإنتساب : Sep 2016
السمعة :
2
الشكر: 22
تم شكره 47 مرات في 32 مشاركات
(10-01-20, 06:17 PM)3booody كتب : الكود يعمل جيدآ على اللغة الانكليزية
غير الخاصية RightToLeft للاداة وغير بهذا الشكل للغة العربية
كود :
Dim lbl As Label = Nothing
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Do
Application.DoEvents()
Dim index As Integer = RichTextBox1.Find(TextBox1.Text)
Dim p As Point = RichTextBox1.GetPositionFromCharIndex(index)
If RichTextBox1.SelectedText <> "" Then
lbl = New Label With {.Text = TextBox1.Text, .ForeColor = Color.Red _
, .Location = New Point(p.X, p.Y), .AutoSize = True, .RightToLeft = Windows.Forms.RightToLeft.Yes, .TextAlign = ContentAlignment.MiddleLeft}
RichTextBox1.SelectedText = ""
RichTextBox1.Controls.Add(lbl)
Else
Exit Do
End If
Loop
End Sub
سوف اجرب و اخبرك
سؤال لو اردت بدل مااضع ليبل فوق النص اغير لون النص مباشرة كيف اغير الكود
المشاركات : 58
المواضيع 12
الإنتساب : Sep 2016
السمعة :
2
الشكر: 22
تم شكره 47 مرات في 32 مشاركات
19-01-20, 01:04 AM
(آخر تعديل لهذه المشاركة : 19-01-20, 01:52 AM {2} بواسطة al9atl.)
(10-01-20, 06:17 PM)3booody كتب : الكود يعمل جيدآ على اللغة الانكليزية
غير الخاصية RightToLeft للاداة وغير بهذا الشكل للغة العربية
كود :
Dim lbl As Label = Nothing
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Do
Application.DoEvents()
Dim index As Integer = RichTextBox1.Find(TextBox1.Text)
Dim p As Point = RichTextBox1.GetPositionFromCharIndex(index)
If RichTextBox1.SelectedText <> "" Then
lbl = New Label With {.Text = TextBox1.Text, .ForeColor = Color.Red _
, .Location = New Point(p.X, p.Y), .AutoSize = True, .RightToLeft = Windows.Forms.RightToLeft.Yes, .TextAlign = ContentAlignment.MiddleLeft}
RichTextBox1.SelectedText = ""
RichTextBox1.Controls.Add(lbl)
Else
Exit Do
End If
Loop
End Sub
للاسف لم يعمل عندي جيدا علىالعربية لكن على الانجليزية يعمل
هل يمكن تعديل الكود لتلوين النص بدل وضع عليه لابل
تمكنت من تلوين جملة او كلمة في سطر واحد لكن كيف الون جملة في اكثر من سطر ؟
|