منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
طلب كود يقوم مقام (دبل كليك).. وكود للانتقال إلى الكلمة التالية في النص - نسخة قابلة للطباعة

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



طلب كود يقوم مقام (دبل كليك).. وكود للانتقال إلى الكلمة التالية في النص - waelalmsry75 - 30-01-20

السلام عليكم
الإخوة الكرام

أريد أن أعرف الكود الذي يقوم مقام (دبل كليك)
وكذلك كود الانتقال إلى الكلمة التالية في النص

توضيح المطلوب:
إذا كان لدينا تيكست بوكس فيه نص
والمؤشر يقف على كلمة معينة في النص
يوجد زر عند الضغط عليه أريد أن يتم التظليل على الكلمة التي يقف عليها المؤشر (كأنني ضغطت دبل كليك بالماوس)
يوجد زر آخر عند الضغط عليه أريد أن ينتقل المؤشر إلى الكلمة التالية في النص

وجزاكم الله خيرا


RE: طلب كود يقوم مقام (دبل كليك).. وكود للانتقال إلى الكلمة التالية في النص - معاند الحظ - 31-01-20

وعليك السلام اخوي

قريت السؤال وحسبته سهل لكن الحمدلله لقيت الحل لكنه مو 100%

المشكلة في الحل هي انك اذا حطيت المؤشر على الكلمة قبل الاخيرة في سطر يتم تحديد الكلمة ومعاها جزء من السطر اللي بعده 
والحقيقة اني ماني فاهم ليش يصير كذا لكن خذ الحل وان شاء الله تستفيد منه واذا قدرت تخليه شغال 100% ارجوك اكتب رد

للحل ضع RichTextBox او TextBox 

اذا كنت استخدمت RichTextBox  تأكد من جعل التحديد مرئيا من خلال تعديل الخاصية HideSelection للـRichTextBox  

كود :
Public Class Form1

   ' متغير لحفظ موقع مؤشر الفارة
   Dim cursorPos As Point
   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
   End Sub

   Private Sub rtxt_MouseClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles rtxt.MouseClick
       'تسجيل موقع المؤشر
       cursorPos = e.Location
       '
   End Sub

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

       'Dim newString As String = rtxt.Text.Replace(vbCr, "").Replace(vbLf, "")
       'تسجيل مكان بدء التحديد
       Dim startindex = rtxt.GetCharIndexFromPosition(cursorPos)
       'تسجيل مكان اول فراغ
       Dim nextwhiteSpaceindex As Integer = rtxt.Find(" ", startindex + 1, RichTextBoxFinds.None)
       'تحديد الكلمة التي بعد المؤشر
       rtxt.Select(startindex, nextwhiteSpaceindex - startindex)
       Me.Text = rtxt.SelectedText
   End Sub
   

 
End Class



RE: طلب كود يقوم مقام (دبل كليك).. وكود للانتقال إلى الكلمة التالية في النص - waelalmsry75 - 31-01-20

(31-01-20, 01:38 AM)معاند الحظ كتب : وعليك السلام اخوي

قريت السؤال وحسبته سهل لكن الحمدلله لقيت الحل لكنه مو 100%

المشكلة في الحل هي انك اذا حطيت المؤشر على الكلمة قبل الاخيرة في سطر يتم تحديد الكلمة ومعاها جزء من السطر اللي بعده 
والحقيقة اني ماني فاهم ليش يصير كذا لكن خذ الحل وان شاء الله تستفيد منه واذا قدرت تخليه شغال 100% ارجوك اكتب رد

للحل ضع RichTextBox او TextBox 

اذا كنت استخدمت RichTextBox  تأكد من جعل التحديد مرئيا من خلال تعديل الخاصية HideSelection للـRichTextBox  

كود :
Public Class Form1

   ' متغير لحفظ موقع مؤشر الفارة
   Dim cursorPos As Point
   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
   End Sub

   Private Sub rtxt_MouseClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles rtxt.MouseClick
       'تسجيل موقع المؤشر
       cursorPos = e.Location
       '
   End Sub

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

       'Dim newString As String = rtxt.Text.Replace(vbCr, "").Replace(vbLf, "")
       'تسجيل مكان بدء التحديد
       Dim startindex = rtxt.GetCharIndexFromPosition(cursorPos)
       'تسجيل مكان اول فراغ
       Dim nextwhiteSpaceindex As Integer = rtxt.Find(" ", startindex + 1, RichTextBoxFinds.None)
       'تحديد الكلمة التي بعد المؤشر
       rtxt.Select(startindex, nextwhiteSpaceindex - startindex)
       Me.Text = rtxt.SelectedText
   End Sub
   

 
End Class
بارك الله فيك أخي الكريم ونفع بك