تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] إيقاف عمل أداة أثناء الـ Form_Load
#1
بسم الله الرحمن الرحيم 
أخوتي الكرام 

لدي مشكلة صغيرة 

لدي Combobox1

في حدث الـ Form_Load أقوم بملئ الـ ComboBox بالبيانات

و في حدث ComboBox1_SelectedIndexChanged ينفذ أمر محدد 

المشكلة أنه عند تحميل الفورم يقوم الـ Combobox بتنفيذ الأمر دون النقر على الخيار المراد طبعا ينفذ الأمر الأول 

و ذلك لأن ملئه بالبيانات في حدث تحميل الفورم هو تغيير على محتوياته ما يؤدي إلى تنفيذ الامر


ما أريده هو منع الـ ComboBox من تنفيذ الأوامر أثناء تحميل الفورم 

التنفيذ فقط من داخل الفورم 

أرجو أن تكون المشكلة واضحة 

و لكم جزيل الشكر
الرد }}}
تم الشكر بواسطة:
#2
استخدم : SelectionChangeCommitted
تحدث فقط عندما يقوم المستخدم بالإجراء

كود :
   Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles ComboBox1.SelectionChangeCommitted


   End Sub



بدلاً من : SelectedIndexChanged
تحدث في أي وقت يتم فية تغيير العنصر المحدد
كود :
   Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

   End Sub
الرد }}}
#3
ألف شكر أخي 
معلومة جديدة و نجحت تماما 

كل الشكر و االتقدير
الرد }}}
تم الشكر بواسطة:
#4
أخي الكريم 

الطريقة تعمل تماما و تمنع تنفيذ الأمر أثناء تحميل الفورم كما تفضلت تماما



لكن المشكلة أنه باستخدام هذه الطريقة لا أحصل عى النتيجة الصحيحة 
فمثلا الـ ComboBox تعرض الأسماء من جدول الطلاب في قاعدة البيانات 

المطلوب عن النقر على اسم الطالب يقوم الكود باستدعاء باقي المعلومات و يضعها في TextBox

عن طريق SelectionChangeCommitted

 النتيجة لا تتطابق مع الاسم الذي نبحث عنه و كل ما اخترت اسم تظهر نتيجة الاسم الذي اخترته قبل

إذا بحثت عن محمد لا يعطي نتيجة ثم أبحث عن أحمد أحصل على نتيجة محمد ثم على اسماعيل فأحصل على نتيجة أحمد و هكذا 


أما عن طريق SelectedIndexChanged 
أحصل على النتائج الدقيقة تماما و بنفس الكود لكن تبقى مشكلة تنفيذ الأمر أثناء تحميل الفورم 
الرد }}}
تم الشكر بواسطة:
#5
أرجو المساعدة
الرد }}}
تم الشكر بواسطة:
#6
(18-03-18, 12:33 AM)AL - WafaaPro كتب :
أخي الكريم 

الطريقة تعمل تماما و تمنع تنفيذ الأمر أثناء تحميل الفورم كما تفضلت تماما



لكن المشكلة أنه باستخدام هذه الطريقة لا أحصل عى النتيجة الصحيحة 
فمثلا الـ ComboBox تعرض الأسماء من جدول الطلاب في قاعدة البيانات 

المطلوب عن النقر على اسم الطالب يقوم الكود باستدعاء باقي المعلومات و يضعها في TextBox

عن طريق SelectionChangeCommitted

 النتيجة لا تتطابق مع الاسم الذي نبحث عنه و كل ما اخترت اسم تظهر نتيجة الاسم الذي اخترته قبل

إذا بحثت عن محمد لا يعطي نتيجة ثم أبحث عن أحمد أحصل على نتيجة محمد ثم على اسماعيل فأحصل على نتيجة أحمد و هكذا 


أما عن طريق SelectedIndexChanged 
أحصل على النتائج الدقيقة تماما و بنفس الكود لكن تبقى مشكلة تنفيذ الأمر أثناء تحميل الفورم 







تأكد من طريقة إستخدامك للأكواد , 


SelectionChangeCommitted  تعمل تماماً مثل SelectedIndexChanged 
الرد }}}
تم الشكر بواسطة:
#7
أخي الكود صحيح تماما 
أستخدمه في Button و في TextBox و كما استخدمه في Combobox
 
و لكن عند وضعه في الحدث SelectionChangeCommitted  
عندها لا يعطيني نتيجة الخيار نفسه كما أنني عند اختيار الخيار ( محمد ) مثلا يظهر في الـ Combobox  الخيار ( أحمد ) و هكذا 


هل من طريقة أخرى لإيقاف تنفيذ كود أو أمر محدد أثناء تحميل الفورم و هذا الكود المراد إيقافه ليس ضمن حدث الفورم لود
الرد }}}
تم الشكر بواسطة:
#8
هل ممكن أن ترفق الكود الذي تستخدمة .

لا يمكن لـ ( SelectionChangeCommitted ) أن تجلب بيانات مختلفة عن المحددة ( الآن ) في الـ ComboBox
الرد }}}
تم الشكر بواسطة:
#9
سأرفع مثال بسيط

مثال عن المشكلة

نتيجة البحث غير متطابقة مع الاختيار من Combobox

و هذا الكود يعمل في كل الأدوات الأخرى بشكل ناجح


الملفات المرفقة
.rar   WindowsApplication1.rar (الحجم : 332.58 ك ب / التحميلات : 22)
الرد }}}
تم الشكر بواسطة:
#10
ملاحظة : في الحدث Form1_Load ( لم اعدل شيء ولكن , تعليق فقط ) طريقة جلب البيانات مخبوصة وأنت في غنى عن الكثير من الأكواد.

المشروع بعد التعديل :

.zip   WindowsApplication1.zip (الحجم : 684.48 ك ب / التحميلات : 25)

لاحظ السطرين رقم : 36 + 37 في الكود

BindingContext في السطر رقم 46 لا تستخدم بهذة الطريقة .
Me.BindingContext(ds, "WItem").Count


من الأفضل سؤال الجدول مباشرتاً :
ds.Tables("WItem").Rows.Count


أو إستخدام Fill للسؤال عن عدد السجلات الراجعة من الإستعلام :
If da.Fill(ds, "WItem") > 0 Then
Fill تعود برقم , وهذا الرقم هو عدد السجلات المتأثرة من تنفيذ الإستعلام 
وهو عدد السجلات من جملة SELECT
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] التاريخ في أداة أبو سامر لطباعة DataGridView مبرمج صغير 1 17 629 26-01-24, 01:52 AM
آخر رد: مبرمج صغير 1
Rainbow [سؤال] إضافة شريط ضبط الكتابة في أداة RichTextBox أبو خالد الشكري 0 217 29-10-23, 08:19 AM
آخر رد: أبو خالد الشكري
Shocked مشكلة غريبة أثناء البحث SQL devpos 1 303 05-10-23, 03:25 PM
آخر رد: devpos
  أداة التاريخ والوقت اسلام الكبابى 9 2,580 10-06-23, 04:39 AM
آخر رد: اسلام الكبابى
  تحويل كود من أداة SSTab إلى أداة TabControl مصمم هاوي 1 517 15-09-22, 12:18 PM
آخر رد: Taha Okla
  [سؤال] لسلام عليكم ورحمه الله وبركاته ازاي افعل خاصيه امكانيه التعديل علي الكود أثناء تشغيل حسن الجلب 1 652 06-08-22, 07:39 PM
آخر رد: asmarsou
Exclamation قراءة بيانات الصورة من قاعدة بيانات أكسس إلى أداة PictureBox أبو خالد الشكري 15 1,846 20-07-22, 05:40 PM
آخر رد: أبو خالد الشكري
  [سؤال] كيف اربط تاريخ موجود فى قاعدة البيانات ب أداة month calendar genral 0 851 20-12-21, 05:10 PM
آخر رد: genral
Sad [نقاش] مشكلة أثناء إضافة أدوات devexpress abood26 0 893 26-07-21, 12:54 PM
آخر رد: abood26
  [VB.NET] فتح أداة webbrowser بإستخدام فايرفوكس أو كروم صالح حمادي 5 2,892 12-11-20, 11:57 PM
آخر رد: صالح حمادي

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم