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

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



هل يمكن معرفة مكان الجملة او كلمة في richtextbox و وضع فوقها ادات Label - al9atl - 01-01-20

السلام عليكم


عندي نص في ادات richtextbox1
اريد عند كتابة كلمة او جملة في textbox اد كانت موجودة في richtextbox1 توضع فوق تلك الجملة او الكلمة ادات label 
مع مراعات ان الجملة قد تكون في اكثر من سطر

ملاحظة label توضع على الجملة التي في ادات richtextbox1

هل هدا ممكن با vb.net


RE: هل يمكن معرفة مكان الجملة او كلمة في richtextbox و وضع فوقها ادات Label - 3booody - 02-01-20

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

نعم اخي ممكن عملتك كود يضع ليبل بلون احمر فوق الكلمة المطابقة

وضعتها بزر بوتون


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



RE: هل يمكن معرفة مكان الجملة او كلمة في richtextbox و وضع فوقها ادات Label - al9atl - 10-01-20

(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


RE: هل يمكن معرفة مكان الجملة او كلمة في richtextbox و وضع فوقها ادات Label - 3booody - 10-01-20

الكود يعمل جيدآ على اللغة الانكليزية
غير الخاصية 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



RE: هل يمكن معرفة مكان الجملة او كلمة في richtextbox و وضع فوقها ادات Label - al9atl - 10-01-20

(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

سوف اجرب و اخبرك
سؤال لو اردت بدل مااضع ليبل فوق النص اغير لون النص مباشرة كيف اغير الكود  Angel


RE: هل يمكن معرفة مكان الجملة او كلمة في richtextbox و وضع فوقها ادات Label - al9atl - 19-01-20

(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

للاسف لم يعمل عندي جيدا علىالعربية لكن على الانجليزية يعمل
هل يمكن تعديل الكود لتلوين النص بدل وضع عليه لابل

تمكنت من تلوين جملة او كلمة في سطر واحد لكن كيف الون جملة في اكثر من سطر ؟