تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية التعامل مع نماذج mdi
#1
السلام عليكم ورحمة الله وبركاته


اخواني في المنتدى الرائع لدي مشكلة في التعامل مع نموذج المتعددة (mdi) 
 لدي برنامج استخدمت فيه نموذج mdi ففي الشاشة الرئيسية والتي اسمها form1 لدي نموذجين احدهما اسمها form_big والذي اريد ان يفتح الفورم بشكل كبير دائما (maximize) .
والنموذج الاخر اسمه from_small والذي اريد ان ييفتح بشكل مصغر النموذج العادي (normal) .

المشكلة الاولى /عند فتح الفورم form_big لايفتح بشكل كبير maximize .
المشكلة اللثانية / عند فتح الفورم form_small اريده ان يكون ثابت بحجم صغير ,وعند فتح اي فورم اخر ثم الرجوع للنموذج المسمى form_small يفتح بشكل كبير.

االمرفق في الرابط 
https://dl.dropboxusercontent.com/u/8335...diform.rar



الرابط الموضوع
http://arabteam2000-forum.com/index.php/...D8%AC-mdi/
الرد }}}}
تم الشكر بواسطة:
#2
.....

النقطة الأولى (مهمة جداً):
دائماً إجعل الخاصية WindwState لنماذج الأبناء Normal وتغييرها يتم فقط بالكود
كود :
[ltr][/ltr]
Form frm2 =new Form2();
frm2.MdiParent = this;
frm2.WindowState = FormWindowState.Maximized;
frm2.Show();

النقطة الثانية:
طريقة ظهور نماذج الأبناء لا يمكن أن تكون إحداها كبيراً والأخر صغيراً.
وإذا أردت أن يكون أحد النماذج عادياً غير كبيراً فجعله منفصلا (غير تابع لـ MDIForm) أي لا تكتب له أمرMdiParent.



على حسب طلبك أن النموذج الأول كبيرا دائما والآخر صغير توجد طريقة تضمين الصغير داخل الكبير كالتالي مع اعتبار النقطة الأولى سابقاً:
كود :
// لابد من أن تكون خاصية حجم النافذة لجميع النماذج الأبناء عادية والتغيير يكون بالكود
FORM_BIG frm_big;
FORM_SMALL frm_small;

// تحميل الفورم الكبير أثناء التشغيل
private void Form1_Load(object sender, EventArgs e) {
   frm_big = new FORM_BIG();
   frm_big.ControlBox = false;
   frm_big.WindowState = FormWindowState.Maximized;
   frm_big.MdiParent = this;
   frm_big.Show();
}

private void فورمصغيرToolStripMenuItem_Click(object sender, EventArgs e) {
   frm_small = new FORM_SMALL();
   frm_small.TopLevel = false; // لابد من هذا الأمر
   frm_small.Parent = frm_big; // لاحظ طريقة النسب ولمن تم نسبه
   frm_small.BringToFront();   // لأننا نسبناه للنموذج الكبير لابد هنا من وضعه في مقدمة أدواته
   frm_small.WindowState = FormWindowState.Normal;
   frm_small.Show();

   // توسيط النموذج الصغيرة
   frm_small.Location= new Point((frm_small.Parent.ClientRectangle.Width -frm_small.Width)/2 ,
                                 (frm_small.Parent.ClientRectangle.Height -frm_small.Height)/2 );
}

.....


الملفات المرفقة
.rar   mdiform-2.rar (الحجم : 51.28 ك ب / التحميلات : 85)
الرد }}}}
تم الشكر بواسطة: الشاكي لله , احمد تيم
#3
الله لا يحرمك من الجنة والأجر شكرا لك على مساعدتي على رغم من انها أيام عيد 
 


جربيتها لكن لو كان لدي أكثر من نموذج هل سأكتب الكود في جميع النماذج 
 
علما انني نجحت في حل لكن لست مقتنع به 
كود :
FORM_SMALL frm = new FORM_SMALL();

frm.MdiParent = this.MdiParent;

frm.MdiParent = Application.OpenForms["FORM_SMALL"];

frm.Show();
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية دمج قاعدة بيانات شهادات طلاب في قالب شهادة جاهز جيولوجي مبتدئ 0 38 31-10-17, 12:19 AM
آخر رد: جيولوجي مبتدئ
  ياشباب لسمحتو في حد يساعدني في كيفية التعامل معا اداة listView للMediaPlayer abdaalwagih 0 144 27-04-17, 08:23 PM
آخر رد: abdaalwagih
  طلب مساعدة في كيفية عمل حماية بكلمة سر لقاعدة بيانات من نوع sql Darel 8 472 28-01-17, 02:38 PM
آخر رد: EnormousSoft
  [C#.NET] كيفية تحديد عدد الاختيارات من الكمبو بكس في الداتا قريد فيو solnaifgmail 3 287 21-01-17, 11:09 PM
آخر رد: solnaifgmail
  [C#.NET] بخصوص سلسلة التعامل مع الويب وسلسلة التعامل مع البرامج الاخ العزيز الشاكي لله GENNARO 0 266 05-10-16, 05:28 PM
آخر رد: GENNARO
  [سؤال] كيفية التعامل مع الاصناف في نظام محاسبي MOHAMMED ALHAZMEE 1 378 27-07-16, 04:50 PM
آخر رد: الوادي
  كيفية تغيير الفونت نور الدين وليد 3 635 03-06-16, 10:15 PM
آخر رد: نور الدين وليد
  كيفية تحريك الكنترول عن طريق السحب والافلات نور الدين وليد 4 519 28-05-16, 11:27 PM
آخر رد: نور الدين وليد
  [سؤال] كيفية تغيير Fontstyle نور الدين وليد 6 593 26-05-16, 12:48 AM
آخر رد: نور الدين وليد
  [سؤال] كيفية اعادة الترقيم عند الحزف السندباد المصري 4 1,368 01-10-15, 01:54 AM
آخر رد: زكريا النابهي

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


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