16-12-21, 11:38 PM
الصفحات : 1 2
17-12-21, 12:09 AM
كود تحديد موقع مؤشر الكتابة caret position هو اول كود في الكود الذي ارفقته لك في موضوع الاكمال التلقائي
وهذا هو مرة اخرى
اولا قم باستيراد المكتبة التالية
وهذا هو مرة اخرى
اولا قم باستيراد المكتبة التالية
كود :
Imports System.Runtime.InteropServices
كود :
<DllImport("user32.dll")> _
Private Shared Function GetCaretPos(ByRef lpPoint As Point) As Boolean
End Function
Public Function GetCorrectCaretPos() As Point
Dim pt As Point = Point.Empty
If GetCaretPos(pt) Then
Return pt
Else
Return Point.Empty
End If
End Function
17-12-21, 12:18 AM
شكرا لك
الكود لم يعمل ممكن ترسل مثال
الكود لم يعمل ممكن ترسل مثال
17-12-21, 12:53 AM
الكود يعمل وهو بعطيك احداثيات مؤشر الادخال (الكتابة) الخاص بتكستبوكس
وطريقة استخدامه بسيطة ضع تكست بوكس وضع محتوى نصي فيه وضع ليبل لكي تعرض لك
قيمة موقع المؤشر
في حدث الـtextchanged h او keypress او keydown ضع الكود التالي
وطريقة استخدامه بسيطة ضع تكست بوكس وضع محتوى نصي فيه وضع ليبل لكي تعرض لك
قيمة موقع المؤشر
في حدث الـtextchanged h او keypress او keydown ضع الكود التالي
كود :
Label1.text = GetCorrectCaretPos.X & ":" & GetCorrectCaretPos.Y
17-12-21, 01:21 AM
شكرا لك
اي كود لايحتوي كلمة location فهو لا يعطيك location
مؤشر الكتابة قد يكون في داتا جريد فيو وقد يكون في تيكست بوكس وقد يكون في غير ذلك
انا كتبت في عنوان سؤالي كلمة موقع وكتبت في نص السؤال كلمة location
ما اريده هو تحديد location الخاص بمؤشر الكتابة بالنسبة الى الفورم
اي كود لايحتوي كلمة location فهو لا يعطيك location
مؤشر الكتابة قد يكون في داتا جريد فيو وقد يكون في تيكست بوكس وقد يكون في غير ذلك
انا كتبت في عنوان سؤالي كلمة موقع وكتبت في نص السؤال كلمة location
ما اريده هو تحديد location الخاص بمؤشر الكتابة بالنسبة الى الفورم
17-12-21, 01:34 AM
"اي كود لايحتوي كلمة location فهو لا يعطيك location"
اسمحلي انت غلطان
في لعات الدوت النت وربما كثير غيرها يتم وصف اللوكيشن بكلمة point وهي الاصح والادق
والخلاصة hk اي دالة تعطيك x او y هي عبارة عن موقع نقطة point
وايضا يا اخي اللوكيشن يتكون من احداثيات وتحديدا اثنتين هما X & Y بالعربي س و ص
يعني هاذي الاحداثيات هي اللوكيشن بشحمه ولحمه
وهذا الكود يعطيك هذي الاحداثيات انا جربته في تكست بوكس لكن في ادوات اخرى ماجربته
اذا كان مايعمل في اداة جريد فيو تقدر تبحث في جوجل get datagridview caret position vb.net
هل من الممكن انك تبغى تعرف الـIndex للحرف الذي يقف عنده المؤشر؟
اذا كان هذا ماتريد فهنا فرق لان الـIndex ليس هو اللوكيشن
اسمحلي انت غلطان
في لعات الدوت النت وربما كثير غيرها يتم وصف اللوكيشن بكلمة point وهي الاصح والادق
والخلاصة hk اي دالة تعطيك x او y هي عبارة عن موقع نقطة point
وايضا يا اخي اللوكيشن يتكون من احداثيات وتحديدا اثنتين هما X & Y بالعربي س و ص
يعني هاذي الاحداثيات هي اللوكيشن بشحمه ولحمه
وهذا الكود يعطيك هذي الاحداثيات انا جربته في تكست بوكس لكن في ادوات اخرى ماجربته
اذا كان مايعمل في اداة جريد فيو تقدر تبحث في جوجل get datagridview caret position vb.net
هل من الممكن انك تبغى تعرف الـIndex للحرف الذي يقف عنده المؤشر؟
اذا كان هذا ماتريد فهنا فرق لان الـIndex ليس هو اللوكيشن
17-12-21, 01:49 AM
السلام عليكم ورحمة الله وبركاته
شكرا لاخي معاند الحظ على مايقدمه لاخوانه في المنتدى
اخي ابو انس انت لم توضح اين تريد موقع المؤشر
هل تريد X و Y بالنسبة الى مساحة صورة او بانل او غيرها من ادوات تحتاج الى موقع ال X و Y
ام تريد موقع المؤشر في كتلة نصية بحيث يتم تحديد موقع المؤشر عن الحرف رقم كذا
بالنسبة للخيار الاول تم الرد من قبل اخي معاند مشكورا
اما بالنسبة للخيار الثاني فاليك هذا المثال وفيه اداة RichTextBox فارغة ويوجد Label عدد 2 الاولى لاظهار موقع المؤشر اينما تضعه والثانية لاظهار عدد الاحرف طبعا تتم عملية الحساب عند الانقاص والزيادة وتظهر النتجة في اللايبل
شكرا لاخي معاند الحظ على مايقدمه لاخوانه في المنتدى
اخي ابو انس انت لم توضح اين تريد موقع المؤشر
هل تريد X و Y بالنسبة الى مساحة صورة او بانل او غيرها من ادوات تحتاج الى موقع ال X و Y
ام تريد موقع المؤشر في كتلة نصية بحيث يتم تحديد موقع المؤشر عن الحرف رقم كذا
بالنسبة للخيار الاول تم الرد من قبل اخي معاند مشكورا
اما بالنسبة للخيار الثاني فاليك هذا المثال وفيه اداة RichTextBox فارغة ويوجد Label عدد 2 الاولى لاظهار موقع المؤشر اينما تضعه والثانية لاظهار عدد الاحرف طبعا تتم عملية الحساب عند الانقاص والزيادة وتظهر النتجة في اللايبل
17-12-21, 01:50 AM
في المرفقات مشروع باستخدام الكود الذي ذكرته انت
اخذته نسخ لصق
جرب ثم قم بتغيير موقع التيكست بوكس وجرب مرة ثانية
وعليكم السلام ورحمة الله وبركاته
هيك انتو الاثنين تحالفتو ضدي ...
انا اتحدث عن ال LOCATION وانت تتحدثون عن Position
ثم اني اثناء مشاركاتي ذكرت اني اريد موقع المؤشر بالنسبة للفورم
الان اذا قمت باضافة اداة للفورم مثلا تيكست بوكس اذا ذهبت للخصائص سوف تجد خاصية Location تساوي مثلا 12; 100 وبالطبع هي احداثيات x y
انا اريد هذه الاحداثيات ولكن ليس لاداة معينة ولكن لمؤشر الكتابة
اخذته نسخ لصق
جرب ثم قم بتغيير موقع التيكست بوكس وجرب مرة ثانية
(17-12-21, 01:49 AM)ابراهيم ايبو كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
شكرا لاخي معاند الحظ على مايقدمه لاخوانه في المنتدى
اخي ابو انس انت لم توضح اين تريد موقع المؤشر
هل تريد X و Y بالنسبة الى مساحة صورة او بانل او غيرها من ادوات تحتاج الى موقع ال X و Y
ام تريد موقع المؤشر في كتلة نصية بحيث يتم تحديد موقع المؤشر عن الحرف رقم كذا
بالنسبة للخيار الاول تم الرد من قبل اخي معاند مشكورا
اما بالنسبة للخيار الثاني فاليك هذا المثال وفيه اداة RichTextBox فارغة ويوجد Label عدد 2 الاولى لاظهار موقع المؤشر اينما تضعه والثانية لاظهار عدد الاحرف طبعا تتم عملية الحساب عند الانقاص والزيادة وتظهر النتجة في اللايبل
وعليكم السلام ورحمة الله وبركاته
هيك انتو الاثنين تحالفتو ضدي ...
انا اتحدث عن ال LOCATION وانت تتحدثون عن Position
ثم اني اثناء مشاركاتي ذكرت اني اريد موقع المؤشر بالنسبة للفورم
الان اذا قمت باضافة اداة للفورم مثلا تيكست بوكس اذا ذهبت للخصائص سوف تجد خاصية Location تساوي مثلا 12; 100 وبالطبع هي احداثيات x y
انا اريد هذه الاحداثيات ولكن ليس لاداة معينة ولكن لمؤشر الكتابة
17-12-21, 03:26 AM
تفصل هذا كود لاحداثيات مؤشر الماوس بالنسبة للفورم عندما يتحرك عليه
ولو غيرت مكان الفورم يبق الحساب بالنسبة للفورم نفسه
ان كان هذا ماتريد
ولو غيرت مكان الفورم يبق الحساب بالنسبة للفورم نفسه
ان كان هذا ماتريد
كود :
Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles MyBase.MouseMove
Label1.Text = (e.X & " / " & e.X)
End Sub
17-12-21, 07:31 AM
اسمحوا لي ان كان فهمي خاطيء لكن بحثت في النت عن فهمي للجزئية ووجدته بالسي شارب فحولته الى فيجوال بيسك لبساطته.
تحتاج textbox1 textbox2 وتعبيء الاولى باي شيء والكود التالي تكتبه بحدث النقر لزر الامر اللذي ستضيفه:
كما قلت ان لم يكن هو فمعذرة منكم جميعا.
او كالتالي:
lblpos
اداة Label
تحتاج textbox1 textbox2 وتعبيء الاولى باي شيء والكود التالي تكتبه بحدث النقر لزر الامر اللذي ستضيفه:
PHP كود :
Dim index As Integer = TextBox1.SelectionStart
Dim curentline As Integer = TextBox1.GetLineFromCharIndex(index)
Dim curentcolumn As Integer = index - TextBox1.GetFirstCharIndexFromLine(curentline)
TextBox2.Text = curentcolumn
او كالتالي:
PHP كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
Dim index As Integer = TextBox1.SelectionStart
Dim curentline As Integer = TextBox1.GetLineFromCharIndex(index)
Dim curentcolumn As Integer = index - TextBox1.GetFirstCharIndexFromLine(curentline)
lblpos.Text = curentcolumn
End Sub
اداة Label
الصفحات : 1 2