06-10-14, 08:27 PM
.....
النقطة الأولى (مهمة جداً):
دائماً إجعل الخاصية WindwState لنماذج الأبناء Normal وتغييرها يتم فقط بالكود
النقطة الثانية:
طريقة ظهور نماذج الأبناء لا يمكن أن تكون إحداها كبيراً والأخر صغيراً.
وإذا أردت أن يكون أحد النماذج عادياً غير كبيراً فجعله منفصلا (غير تابع لـ MDIForm) أي لا تكتب له أمرMdiParent.
على حسب طلبك أن النموذج الأول كبيرا دائما والآخر صغير توجد طريقة تضمين الصغير داخل الكبير كالتالي مع اعتبار النقطة الأولى سابقاً:
.....
النقطة الأولى (مهمة جداً):
دائماً إجعل الخاصية 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 );
}.....



