الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التاكد من ادخال بيانات فورم معينه من خلال فورم اخرى

مغلق
بدأه ksa_girl1 في 3 يونيو 2007 · 8 رد · 830 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني انا اشتغل على الفجول بيسك دوت نت 2005

+

الاكسس

عندي فورم اساسيه

form1

ادخل من خلالها معلومات الطلاب اذا ادخل المستخدم البيانات وضغط على زر الادخال

تظهر له فورم اخرى فيها معلومات اضافيه يجب ان يدخلها المستخدم

form2

المشكله الي عندي ان الفورم

form2

اذا عمل لها المستخدم اغلاق من زر الاغلاق تتم عمليه الاضافه

وانا اريد ان اجبر المستخدم على ادخال البيانات الاضافيه

فكرة اعمل شرط

في

form1

قبل تنفيذ الاضافه لتاكد

هل المستخدم ضغط على زر الاغلاق لكن فشلت

اتمنى اذا احد يقدر يفيدني باقتراح

وشكرا

#2

يمكنك الاستفادة من الحدث formclosing لمنع اغلاق النموذج قبل تحقق شرط ما..

كمثال..

If x <> 1 Then
	  e.Cancel = True
Else
	  e.Cancel = False
End If

هنا اذا كانت قيمة x لاتساي الواحد فان النموذج لن يغلق.. فيما عدا ذلك فسوف يتم الغلق..

تم تعديل هذه المشاركة بواسطة كلمة الـعـرب في 3 يونيو 2007 في 01:20

((رحلة العودة الى العالم الافتراضي قد بدأت))

#3

اخي الكريم

كلمة الـعـرب

لم افهم قصدك هل الكود الذي وضعته يكون في الفورم الاولى ام الثانيه

وماذا تقصد ب

e

هل هو اسم الفورم

وشكرا

#4

بعد ازنك كلمة العرب

يا اخي الكود ده تحطه في الفورم الي هتعمل فيها save ل البيانات في ال access يعني فورم 2

ثانيا ال e ده اسم اوبجكت موجود من غيرما تعرفيه لما يحدق حدث مثل اغلاق الفورم الوبجكت ده بيتعرف لوحده

اختصارا الكود يتحط زي ما هو كدهمش محتاج حاجه خالص غير ان قيمة الاكس طبعا انت تحطها

#5
اقتباس
هل الكود الذي وضعته يكون في الفورم الاولى ام الثانيه

الثانية..

اقتباس
وماذا تقصد ب(e) هل هو اسم الفورم

لا... هو عبارة عن System.ComponentModel.CancelEventArgs..

عندما نريد منع اغلاق النموذج عن طريق زر الاغلاق ..فاننا نستفيد من الحدث FormClosing التابع للكائن Form...

نضع القيمة True في الخاصية Cancel التابعة للكائن e وذلك لمنع الاغلاق...

كمثال كامل (ان شاء الله يكون اوضح)..

لنفرض اننا لانريد ان يتم اغلاق النموذج طالما لاتوجد قيمة في TextBox...

	Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
		If TextBox1.Text = "" Then
			e.Cancel = True
		Else
			e.Cancel = False
		End If
	End Sub

في هذا المثال لن يفعل زر الاغلاق الا اذا وجدت قيمة في TextBox ...

اي لن يتم اغلاق النموذج طالما قيمة خاصية Text التابعة للكائن TextBox تساوي ""...

((رحلة العودة الى العالم الافتراضي قد بدأت))

#6

شكرا لتعونكم

لكن يبدو ان الموضوع لم يفهم كما اريد ساحول الشرح

انا لا اريد ان امنعه من عمل اغلاق لانه ممكن يعمل اغلاق ويرجع للفورم الاولى ويعمل كانسل للعمليه

انا اريد من خلال الفورم الاولى اذا كان يرد اكمال عمليه الاضافه وهولم يدخل البيانات المطلوبه في الفورم الثانيه

اعرض له مسج بذلك واعرض له الفورم مره اخرى

مشكلتي هي كيف اعرف وانا في الفورم الاولى انه عمل اغلاق للفورم الثانيه

اعرف ان الموضع معقد لكن هذا الملطوب مني علمه

#7
اقتباس
مشكلتي هي كيف اعرف وانا في الفورم الاولى انه عمل اغلاق للفورم الثانيه

يمكنك ان تظهر Form2 من خلال الطريقة Showdialog ...

في هذه الحالة لن يتم تنفيذ الكود الذي ياتي بعده الا اذا تم اغلاق Form2..

ماعلاقة هذا في موضوعنا...

يمكننا الاستفادة من هذه الطريقة كالتالي..

		Dim frm As New Form2
		frm.ShowDialog()
		While frm.TextBox1.Text = ""
			MessageBox.Show("you must enter data into form")
			frm.ShowDialog()
		End While

لقد قمنا باظهار Form2 عن طريق ShowDialog ومن ثم استخدمنا حلقة While لنتاكد من ان TextBox تساوي ""..

اذا كانت تساوي "" فنظهر MessageBox ونعيد عرض Form2 الى ان يتم ادخال بيانات به...

ShowDialog تمنع المستخدم من الوصول الى Form1 قبل اغلاق Form2...

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

ليس معقد لكن تحتاج الى الفكرة وكيفية استخدام معلوماتك السابقة..

((رحلة العودة الى العالم الافتراضي قد بدأت))

#8

أختي الكريمة ksa_girl

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

بالتوفيق..

#9

بصي فيه طريقه معقده شوية - مع العلم ان طريقه كلمة العرب اعتقد ان هيا صحيحه -

حضرتك هتعملي thread - او افضلك يبقا تيمر جاهز

الانترفل بتاعته هتبقا صغيره جدا ومتقللهاش عن 300ms

وفي الفروم ده هتعملي شك على variable لو قيمته 1 او 0

ةقيمة الفاريبل دي هتفضل 0

وفي حدث الفورم كلوزينج بتاع form2 تتحط قيمته ب 1

لو مش فاهمه قوليلي احطلك كود بس انا افضل تفهمي وتكتبي الكود بنفسك

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…