السلام عليكم
عندي نص في ادات richtextbox1
اريد عند كتابة كلمة او جملة في textbox اد كانت موجودة في richtextbox1 توضع فوق تلك الجملة او الكلمة ادات label
مع مراعات ان الجملة قد تكون في اكثر من سطر
ملاحظة label توضع على الجملة التي في ادات richtextbox1
هل هدا ممكن با vb.net
السلام عليكم ورحمة الله وبركاته
نعم اخي ممكن عملتك كود يضع ليبل بلون احمر فوق الكلمة المطابقة
وضعتها بزر بوتون
كود :
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
(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
الكود يعمل جيدآ على اللغة الانكليزية
غير الخاصية 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
(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
سوف اجرب و اخبرك
سؤال لو اردت بدل مااضع ليبل فوق النص اغير لون النص مباشرة كيف اغير الكود

(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
للاسف لم يعمل عندي جيدا علىالعربية لكن على الانجليزية يعمل
هل يمكن تعديل الكود لتلوين النص بدل وضع عليه لابل
تمكنت من تلوين جملة او كلمة في سطر واحد لكن كيف الون جملة في اكثر من سطر ؟