PDA

View Full Version : سوال: تعيين فرم پدر براي كليه فرمهاي توليد شده در يك برنامه



beheshte_barin2
سه شنبه 29 مرداد 1387, 02:31 صبح
به منظور اینکه کلیه فرمهای تولیدشده در برنامه اصلی بتوانند فرزندفرم اصلی برنامه باشند مجبور شدم فرم اصلی رابه صورت عمومی واستاتیک تعریف نمایم تاهرجایی ازبرنامه بتوانم به آن دسترسی داشته باشم برای این منظور كد زير را نوشتم:

public static MainForm mainFormObj = new MainForm ();
در هنگام ساختن فرم اصلي تابعي با عنوان زير

Application.SetCompatibleTextRenderingDefault(fals e(;
صدا زده مي شود. اين تابع بايستي قبل از ساخت نمونه از فرم اصلي صدا زده شود بنابراين مجبور شدم كد را به صورت توضيحي درآورم و براي ران شدن برنامه كد زير را نوشتم:

Application.Run(mainFormObj);
با اين كار مي توانم كليه والد فرمهاي خود را به صورت زير تعريف نمايم.


Form2 FormObj = new Form2();

FormObj.MdiParent = Program.mainFormObj;
حال سئوال اين است كه
1- با اين كار آيا برنامه ممكن است با مشكل مواجه شود؟
2- كار اصلي كد
Application.SetCompatibleTextRenderingDefault(fals e);
چيست؟
3- آیا روش دیگری برای تعيين فرم پدر براي كليه فرمهاي توليد شده در يك برنامه و دسترسی به فرم پدر وجود دارد؟

h.jaza
سه شنبه 29 مرداد 1387, 09:53 صبح
فکر کنم این اصلا کاره درستی نباشه. یه سری به این لینک بزن:
http://barnamenevis.org/forum/showthread.php?t=117569

مهرداد تاجدینی
سه شنبه 29 مرداد 1387, 10:54 صبح
دوست عزیز نیازی به انجام دادن هیچ یک از این کارها نیست ! هر فرم یه خاصیت به نام IsMdiContainer داره که به صورت پیشفرض مقدارش برابر False هست. اگه این رو True کنید فرمتون به یک پنجره پدر (MDI Container) تبدیل میشه.

piroozman
پنج شنبه 31 مرداد 1387, 11:28 صبح
دوست عزیز نیازی به انجام دادن هیچ یک از این کارها نیست ! هر فرم یه خاصیت به نام IsMdiContainer داره که به صورت پیشفرض مقدارش برابر False هست. اگه این رو True کنید فرمتون به یک پنجره پدر (MDI Container) تبدیل میشه.
عزيز من سئوال را اشتباهي متوجه شدي. فرم اصلي برنامه من mdicontainer است و مي خواهم كليه فرمهاي من فرم فرزند فرم اصلي من باشند. لطف كنيد در خواندن سئوال كمي بيشتر دقت كنيد متوجه منظور من خواهيد شد