تقييم الموضوع :
  • 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 ك ب / التحميلات : 115)
الرد }}}
تم الشكر بواسطة: الشاكي لله , احمد تيم
#3
الله لا يحرمك من الجنة والأجر شكرا لك على مساعدتي على رغم من انها أيام عيد 
 


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

frm.MdiParent = this.MdiParent;

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [SQL] كيفية اضافة الارقام العربيه وخزنها في sql TITOMOH 1 656 12-12-22, 05:20 PM
آخر رد: mowza
  كيفية تثبيت الخطوط عند المستخدم بمجرد تنزيل البرنامج osama623 1 718 18-11-22, 02:07 PM
آخر رد: alfaiz678
  كيفية قراءة وعرض ملفات pdf مخزنة في داتا كرد فيو من خلال زر بتن وبدون open file dialo مرتضى 0 607 31-10-22, 12:53 AM
آخر رد: مرتضى
  كيفية التقاط الباركود من الزجاج الأمامي للسيارة من خلال كاميرا من c # abdalamask 0 718 11-09-22, 09:27 PM
آخر رد: abdalamask
  كيفية ضبط مقاس دقة الشاشة للمشروع بلغة السي شارب صبري بامرحول 1 1,234 01-05-22, 03:09 AM
آخر رد: سعود
  كيفية تشغيل مشغل mpv في الفيجوال بيسك ؟؟ 4545Mohamed 1 1,494 17-11-21, 11:18 PM
آخر رد: SoftWare Haker
Video [C#.NET] كيفية اضافة شريط الادوات للمشغل mpv الذي بداخل الفورم؟ islam39 3 1,869 11-07-21, 06:20 PM
آخر رد: islam39
  سؤال كيفية احتساب ايام اجازة mohamed2316 3 1,853 03-05-21, 06:29 AM
آخر رد: a7med saba
  [سؤال] كيفية الربح من خرائط جوجل NOOF1990 1 1,584 25-03-21, 01:08 AM
آخر رد: ba2e44ca9a
  استفسار عن كيفية اظهار قيمة في تيكست بوكس بناءا على الاختيار من كومبو بوكس jalalaldeen 0 1,285 11-01-21, 01:03 PM
آخر رد: jalalaldeen

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


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