20-08-13, 01:45 AM
ismail2012 كتب :شكرا الشاكي لله وشكرا للأخ sooriaty03 الكود تمام ولكن يحتاج لمسه أخيره وهي أنه يتم تظليل الكلمة التي تحت المؤشر حتى عند الأنتقال للكلمة الأخري مثلا لو المؤشر في الكلمة التي في الوسط وذهبت للكلمة الأولى وضغط زر الموس الأيمن يتم تظليل الكلمة التي في الوسط أي التي بها مؤشر الكتابة نريد تظليل الكلمة التي يتم الضغط عليها
أشكر الجميع على التفاعل والمشاركة
السلام عليكم ورحمة الله وبركاته
هناك مشاركة لأخي وأستاذي أبورائد بهذا الخصوص وقد اقتبست منه الطريقة ليصبح الكود بالشكل التالي
كود :
[color=#0000FF]Public Class [/color][COLOR="#2B91AF"]Form1
[/COLOR][color=#0000FF]Private Sub [/color][color=#000000]TextBox1_MouseDown([/color][color=#0000FF]ByVal [/color][color=#000000]sender [/color][color=#0000FF]As Object[/color][color=#000000], [/color][color=#0000FF]ByVal [/color][color=#000000]e [/color][color=#0000FF]As [/color][color=#000000]System.Windows.Forms.[/color][color=#2B91AF]MouseEventArgs[/color][color=#000000]) [/color][color=#0000FF]Handles [/color][COLOR="#000000"]TextBox1.MouseDown
[/COLOR][color=#0000FF]If [/color][color=#000000]e.Button = MouseButtons.Right [/color][COLOR="#0000FF"]Then
Try
[/COLOR][COLOR="#008000"]'التأكد من وجود نص داخل أداة النص
[/COLOR][color=#0000FF]If [/color][color=#000000]TextBox1.Text = [/color][color=#A31515]"" [/color][COLOR="#0000FF"]Then Exit Sub
[/COLOR][COLOR="#008000"]'هذه الخطوة مقتبسة من مثال للأخ الحبيب أبورائد
'Richtextbox بعنوان كيف اعرف موقع الكلمة من الــ
'http://vb4arb.com/vb/showthread.php?6229-%DF%ED%DD-%C7%DA%D1%DD-%E3%E6%DE%DA-%C7%E1%DF%E1%E3%C9-%E3%E4-%C7%E1%DC%DC-Richtextbox&p=24881&viewfull=1#post24881
[/COLOR][color=#0000FF]Dim [/color][color=#000000]cursorAt [/color][color=#0000FF]As Integer [/color][COLOR="#000000"]= sender.GetCharIndexFromPosition(e.Location)
[/COLOR][COLOR="#008000"]'متغيرين لتحديد بداية ونهاية الكلمة
[/COLOR][color=#0000FF]Dim [/color][color=#000000]FirstLetter, LastLetter [/color][COLOR="#0000FF"]As Integer
[/COLOR][COLOR="#008000"]'تحديد بداية الكلمة
'وذلك عن طريق البحث عن مسافة أمام الكلمة
[/COLOR][color=#000000]FirstLetter = TextBox1.Text.Substring(0, cursorAt).LastIndexOf([/color][color=#A31515]" "[/color][COLOR="#000000"]) + 1
[/COLOR][COLOR="#008000"]'لتحديد نهاية الكلمة
[/COLOR][color=#000000]LastLetter = TextBox1.Text.IndexOf([/color][color=#A31515]" "[/color][COLOR="#000000"], FirstLetter)
[/COLOR][COLOR="#008000"]'إذا كان نهاية الكلمة أصغر من بدايتها
'فهذا يعني أن الكلمة المطلوبة تقع آخر النص
[/COLOR][color=#0000FF]If [/color][color=#000000]LastLetter < FirstLetter [/color][color=#0000FF]Then [/color][COLOR="#000000"]LastLetter = TextBox1.TextLength
[/COLOR][COLOR="#008000"]'تظليل الكلمة بعد أن عرفنا البداية والنهاية
[/COLOR][COLOR="#000000"]TextBox1.SelectionStart = FirstLetter
TextBox1.SelectionLength = LastLetter - FirstLetter
[/COLOR][color=#0000FF]Catch [/color][color=#000000]ex [/color][color=#0000FF]As [/color][COLOR="#2B91AF"]Exception
[/COLOR][COLOR="#0000FF"]End Try
End If
End Sub
End Class[/COLOR]بالتوفيق

