منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : سؤال بسيط في فيجوال بيسك
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
boty كتب :جربت طريقتك اخي و هي جيدة فعلا Wink و اشتغلت عندي :o
لكن اعرف اني (تقلت) لكن ممكن شرح الكود لأني مبتدئ و عايز اكون فاهم مش مجرد حافظ Smile

بالعكس.. أنا أحب أمثالك، من يحبون تعلم و فهم اللغة(الـVB.Net) ليس من ينسخون و يلصقون

ملاحظة قبل أن أبدأ الشرح: كل أداة تضيفها من الـToolBox على الـForm هي Control مثل الـButton و الـTextBox

ملاحظة أخرى: Private مثل Dim لكن الفرق أن Private لا يمكن أن تستخدمها داخل إجراء أو دالة (Sub or Function) بينما يمكنك ذلك بـDim

وضعت هذا المتغير
كود :
Private hLastCtrl As New IntPtr
من نوع IntPtr لكي يحمل الـHandle لآخر Control خرج التحديد من عنده و خاصية Handle للـControl هي خاصية مميزة له لا يمكن أن تتكرر قيمتها من Control لآخر

الآن في الحدث Form_Load و الذي ينطلق مع تحميل الـForm في الـMemory قبل ظهورها
عملت حلقة تكرارية تدور على كل الـControls داخل الـForm لأجعل الإجراء SetLastFocusedControl ينطلق عند إنطلاق الحدث Leave لهذا الـControl

الآن مع SetLastFocusedControl
و وظيفته هي إعطاء قيمة الـHandle للـControl الذي خرج من عليه التحديد، إعطاء قيمته لـhLastCtrl

الآن مع الحدث Button_Click و الذي ينطلق عند الضغط على الزر
إذا وجد أن آخر Control محدد كان TextBox1 فيكتب فيه 1
و الشئ ذاته مع TextBox2
شكرا لك اخ Aly El-Haddad
نبهتني الى موضوع مهم بالنسبة الى دالة التركيز انا متاكد انها ستفيدني وقد احتاج عليها اجلا ام عاجلا
شكرا جزيلاWink
محمود اكرم كتب :السلام عليكم
عجبني سؤلك ولهذا بدي اجاوبك عليه واظن انه في طريقة اسهل كمان بس هذي طريقتي
هذا الكود انسخه وضعه في شاشة الكود




علما بان Dim b, s As Boolean
توضع داخل القسم العام اي بعد
Public Class Form1
والباقي تضعه بعد القسم العام وقبل End Class

ممكن شرح الكود ؟؟؟؟
محمود اكرم كتب :السلام عليكم
عجبني سؤلك ولهذا بدي اجاوبك عليه واظن انه في طريقة اسهل كمان بس هذي طريقتي
هذا الكود انسخه وضعه في شاشة الكود




علما بان Dim b, s As Boolean
توضع داخل القسم العام اي بعد
Public Class Form1
والباقي تضعه بعد القسم العام وقبل End Class

شكراااا لك اخي
Aly El-Haddad كتب :بالعكس.. أنا أحب أمثالك، من يحبون تعلم و فهم اللغة(الـVB.Net) ليس من ينسخون و يلصقون

ملاحظة قبل أن أبدأ الشرح: كل أداة تضيفها من الـToolBox على الـForm هي Control مثل الـButton و الـTextBox

ملاحظة أخرى: Private مثل Dim لكن الفرق أن Private لا يمكن أن تستخدمها داخل إجراء أو دالة (Sub or Function) بينما يمكنك ذلك بـDim

وضعت هذا المتغير
كود :
Private hLastCtrl As New IntPtr
من نوع IntPtr لكي يحمل الـHandle لآخر Control خرج التحديد من عنده و خاصية Handle للـControl هي خاصية مميزة له لا يمكن أن تتكرر قيمتها من Control لآخر

الآن في الحدث Form_Load و الذي ينطلق مع تحميل الـForm في الـMemory قبل ظهورها
عملت حلقة تكرارية تدور على كل الـControls داخل الـForm لأجعل الإجراء SetLastFocusedControl ينطلق عند إنطلاق الحدث Leave لهذا الـControl

الآن مع SetLastFocusedControl
و وظيفته هي إعطاء قيمة الـHandle للـControl الذي خرج من عليه التحديد، إعطاء قيمته لـhLastCtrl

الآن مع الحدث Button_Click و الذي ينطلق عند الضغط على الزر
إذا وجد أن آخر Control محدد كان TextBox1 فيكتب فيه 1
و الشئ ذاته مع TextBox2

شكرا اخي افدتني كثيرا Smile
boty كتب :ممكن شرح الكود ؟؟؟؟
اخ boty
عندما تريد ان تستخدم متغير تريد ان تستخدمه في اكثر من حدث يجب ان تضعه في القسم العام وهو بعد Public Class Form1 عادة
بحيث تضع dim x as thing
وتستطيع حذف ما بعد المتغير
او تضع بدل thing احد التالي ليس على سبيل الحصر integer,bolean,double,long وما الى ذلك والقائمة لا تنتهي
اما عن Boolean فهو يجعل المتغير يحتمل قيمتين اما true او false
وبما نك وضعت كل هذا داخل Public Class Form1 فيجب ان يبقى داخله ولا يخرج عن End Class
اي سؤال جاهزين ان شاء الله
محمود اكرم كتب :اخ boty
عندما تريد ان تستخدم متغير تريد ان تستخدمه في اكثر من حدث يجب ان تضعه في القسم العام وهو بعد Public Class Form1 عادة
بحيث تضع dim x as thing
وتستطيع حذف ما بعد المتغير
او تضع بدل thing احد التالي ليس على سبيل الحصر integer,bolean,double,long وما الى ذلك والقائمة لا تنتهي
اما عن Boolean فهو يجعل المتغير يحتمل قيمتين اما true او false
وبما نك وضعت كل هذا داخل Public Class Form1 فيجب ان يبقى داخله ولا يخرج عن End Class
اي سؤال جاهزين ان شاء الله

شكرا لك اخي
الصفحات : 1 2