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

مشكلتين في MdiPerent و Timer1 للمحترفين

مغلق
بدأه HHH في 1 يونيو 2005 · 4 رد · 759 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

لدي مشكلتين متعلقة ب MdiPerent و Timer1

تعريف بالبرنامج:

يتكون من ثلاثة واجهات (Forms)

أولا: المشكلة ب MdiPerent

طريقة البرنامج :

لقد تم وضع خاصية للفورم الأول IsMdiContainer=Ture

يوجد في الفورم الأول Form1)) يزر (Button) عند الضغط على الزر ينتقل إلى الفورم الثاني Form2)) والكود على التالي :

Dim Fr2 as new form2

Fr2. MdiParent=me

Me.hide()

Fr2.show()

يعمل البرنامج بإظهار Fr2 داخل الفورم الأب هو Form1

لكن تبدأ المشكلة هنا في الفورم2 Form2)) والفورم3 Form3))

يوجد في الفورم الثاني Form2)) يزر (Button) عند الضغط على الزر ينتقل إلى الفورم الثالث Form3)) والكود على التالي :

Dim Fr1 as new form1

Dim Fr3 as new form3

Fr3. MdiParent= Fr1

Me.hide()

Fr3.show()

من هنا تبدأ المشكلة بحيث البرنامج يتوقف مرة لايعمل ومرة أخرى لا يظهر الفورم 3 والمشكلة مستمرة في كود

(Button) التابع الفورم3

لقد حاولت عدة طرق ولم تنجح (حيث أن الفورم الأول هو الأب للبرنامج والفورمات الأخرى أبناء للفورم1 وذلك بدون استخدام القائمة MainMenu1) ؟؟؟؟؟؟؟؟؟

المشكلة الثانية في Timer1

أداة Timer1 موجودة في الفورم الأول الأساسي

عندما يضعط المستخدم على (Button) الموجودة في الفورم الثاني الذي ينتقل إلى الفورم الثالث من هنا أن يبدأ Timer1 يبدأ بالعمل حتى 15 ثانية إذا لم يضغط المستخدم على (Button) يقوم Timer1 بإغلاق الفورم الثاني والرجوع إلى الفورم الأول (الأساسي) وكذلك نفس الحركة يكون للفورم3

ولقد كتبت في Timer1_Tic

Timer1.Enable=False

Picturebox1.visible=True

أي اذا لم يغصط المستخدم على زر Button في الفورم2 أو في الفورم3 يبدأ Timer1 بالعمل واذا انتهت يقوم Timer1 باغلاق الفورم الذي هو منشط الحالي سواء كان فورم1 أو فورم3 وبعدها يقوم بإظهار الصورة

السؤال هنا كيف أن أجعل Timer1 يبدأ العد عند الدخول للفورم2 أو الفورم3 ماهو الكود؟

هل نحتاج Timer واحد أو ثلاث Timer بالرغم أني أفضل استخدم Timer1 واحد فقط ؟؟

شكرا لكم

#2

بسم الله الرحمن الرحيم

بالنسبة لسؤال التايمر انت لا بد لك أن تضغط مثلا على زر لأظهار الفورم التالي في نفس ذالك الزر ضع أمر اطلاق التايمر

أسف على الأجابة السريعة بس ان شاء الله تلاقي اجابات لأسئلتك الأخرى عند باقي الأعضاء الذين لا أشك في قدراتهم

#3

السلام عليكم

بالنسبة للـ mdi انا حاولت اني من خلال فورم تابع للأب افتح فورم آخر ايضا تابع لكن ماقدرت من خلال الكود

إذا انت مصمم حاول انك تسوي إجراءات في الفورم الأب MDI الإجراءات هذي تقوم بفتح جميع الفورمات

ومن خلال الفورم 2 عشان تفتح الفورم 3 استعدي الإجراء اللي في فورم MDI

dim a as new MDIForm

a.subrotin

اتوقع إن الإجراء بهذه الطريقه راح يشتغل وينفذ إظهار الفورم 3 بحيث يكون تابع

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

اي استفسار انا جاهز يالغالي

#4

على افتراض أن الفورم الرئيسية هي MainForm

هذا ما عملته

في الموديول الرئيسي عرفت

PUBLIC mForm as New MainForm

طبعا عند تشغيل البرنامج

mForm.ShowDialog()

وعندما تريد تشغيل أي فورم من أي مكان في البرنامج مثلا تشغيل Form5 من داخل Form6

Dim frm5 as NEW Form5
With frm5
.MdiParent = mForm
.Show
End With

أتمنى أن أكون أفدتك

و أتمنى من الإخوة أن يفيدونا إذا كان هناك حلول أسهل

هذا و الله أجل و أعلم

اللهم اغفر لي و لوالدي و للمؤمنين يوم يقوم الحساب

لا إله إلا الله عدد ما كان و عدد ما يكون و عدد الحركات و السكون

#5

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

لقد حلت الطريقة التي عملتها وهي بسيطة جدااااااا

وهي كل الفورمات تكون داخل الفورم الاب حيث أي فورم يظهر من الفورمات تكون

داخل الفورم الأب

سوف أعطيكم الكود بالكامل للفورمات غدا

والسبب في ذلك لدي مشروع سوف يتم تسليم غدا وأيضا لدي مشكلة في هدم متغير

سوف أقوم بتنزيل المشروع يوم الأحد في المنتدى ومع الشرح

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

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