• 0
abohammed

سؤال: اضافة خاصية SelectAll للـTextbox + الانتقال عن طريق Enter

سؤال

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

إخواني,

 

هل هناك طريقة ما, لجعل كل الـTextboxes يتم تظليل كل ما بداخل الـbox عندما ينتقل المستخدم لها, سواء عن طريق Tab أو Enter أو عند مجرد الضغط على الstring داخل الـbox

 

أنا أعلم أنني أستطيع فعل ذلك يدوياً !

لكن ذلك يعني لكل عنصر TextBox و كم سيأخذ ذاك من وقتي و جهدي !

 

فهل يمكن التعديل بخصائص العنصر TextBox الأساسية ؟!

 

و أيضاً, أريد ميزة الانتقال إلى كل Tab عن طريق مجرد ضغط Enter بالكيبورد,

جزاكم الله خيراً !

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

9 إجابة على هذا السؤال .

  • 0

أي, مختصراً لكلامي السابق,

أريد فقط أن أجعل كل عناصر الـTextboxs' في المشروع تحوي تلقائياً على الـEvent "Enter" (على ما أظن), و يحوي بداخله Textbox1.SelectAll();

 

من غير الطريقة اليدوية!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

بمنتهي البساطة

 

سنفترض اننا سنقوم بمليء TextBox2.Text في حدث Form_Load ببعض البيانات 

مثلا سنملئه من 1 الي الرقم 6 كما هو موضح بالكود

وعند الضغط Enter علي TextBox1 في حدث KeyDown سينتقل المؤشر من TextBox1 الي TextBox2 ثم يقوم بعمل Select ALL للبيانات الموجوده بداخل TextBox2

 

 

مثال

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        TextBox2.Text = "123456"    End Sub    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown        If e.KeyCode = Keys.Enter Then            TextBox2.Focus()            TextBox2.SelectAll()        End If    End Sub
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

بمنتهي البساطة

 

سنفترض اننا سنقوم بمليء TextBox2.Text في حدث Form_Load ببعض البيانات 

مثلا سنملئه من 1 الي الرقم 6 كما هو موضح بالكود

وعند الضغط Enter علي TextBox1 في حدث KeyDown سينتقل المؤشر من TextBox1 الي TextBox2 ثم يقوم بعمل Select ALL للبيانات الموجوده بداخل TextBox2

 

 

مثال

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        TextBox2.Text = "123456"    End Sub    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown        If e.KeyCode = Keys.Enter Then            TextBox2.Focus()            TextBox2.SelectAll()        End If    End Sub

شكراً لك أخي,

و لكن هذا الشيء أعرفه,

فالمشكلة, أن مشروعي به أكثر من 100 Textboxes' , و قد شارفت على الانتهاء منه, و لا أريد أن أضع EventHandler لكل عنصر Textbox "سيأخذ من وقتي و جهدي الكثير الكثير! "

أفلا يوجد طريقة بتعديل خصائص الـTextbox نفسها "أقصد الكلاس نفسه" بحيث تصبح Default لبقية الـTextboxes'

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكن من خلال خصائص الــ TextBoxes الموجوده في المشروع ان تقوم بترتيب التنقل بالزر Tab وذلك من خلال الخاصية TabIndex

بحيث يكون TextBox1 Tab Index =1 والثاني 2 والثالث 3 وهكذا و من خلال ضبط هذه الخاصية تستطيع التنقل بين مربعات النصوص من خلال الزر Tab وبدون كتابة سطركود واحد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكن من خلال خصائص الــ TextBoxes الموجوده في المشروع ان تقوم بترتيب التنقل بالزر Tab وذلك من خلال الخاصية TabIndex

بحيث يكون TextBox1 Tab Index =1 والثاني 2 والثالث 3 وهكذا و من خلال ضبط هذه الخاصية تستطيع التنقل بين مربعات النصوص من خلال الزر Tab وبدون كتابة سطركود واحد

نعم أخي أعرف هذا الشيء

المشكلة تكمن أنني أريد SelectAll لكل الـtextboxes

في حال الضغط على Tab 

من دون أن أُعدل ذلك يدوياً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ما الهدف من انك تريد عمل Select All لجميع TextBoxes عند الضغط علي زر Tab  ؟؟

 

اتوقع انك تريد عمل  Select ALL عليهم جميعا لتفريغهم دفعة واحده .... اذا كان توقعي صحيح

 

فيمكنك بدلا من ذلك ان نستخدم هذه الدالة لتفريغ مربعات النصوص جميعها دفعة واحدة

 

Public Sub ClearTextBox(ByVal root As Control) For Each ctrl As Control In root.Controls ClearTextBox(ctrl)If TypeOf ctrl Is TextBox Then CType(ctrl, TextBox).Text = String.Empty End If Next ctrl End Sub

 

ثم نقوم باستدعاء الدالة هكذا

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click        ClearTextBox(Me)End Sub

أتمني ان يكون هذا هو المطلوب

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ممكن توضح ما الهدف من هذه الفكره لانها يمكن ان تمسح بيانات بالخطء وتكون مهمة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

TextBox2

 

 

مثال

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        TextBox2.Text = "123456"    End Sub    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown        If e.KeyCode = Keys.Enter Then            TextBox2.Focus()            TextBox2.SelectAll()        End If    End Sub

 

يا اخواني, كل ما أريده هو مثل هذا الكود, و لكن دون أن أقوم بذلك يدوياً لكل TextBox , بل أن يكون ذلك لكل الـTextBoxes بالتعديل على كلاس TextBox أو بطريقة ما أُخرى

 

مثلما مثلاً عندما أُحدد في الـDesign مجموعة من الـTextbox و أعدل الـproperties  , فيصبح التعديل لكل الـTextBox , كخاصية الـvisible مثلاً !

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالطريقة الي تفكر فيها ما اظن تقدر تعمل واحد الا من علي اليوسر كونترول تعمل لك تكست بوكس جاهز عنده هذا الفينكشن جاهز فيه 

 

بس دا حيعني انك لازم تعيد برمجة الكثير من الاكواد لانك قلت انوا عندك اكثر من 100 تكست بوكس

 

افضل حل لك الحين هو انك تشتغلها يدوي وهذا اعتقادي فقط ربما يكون في المنتدى شخص عنده حل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .