PDA

View Full Version : سوال: آیا فرم پدر فرم فرزندی دارد؟



didaaa
دوشنبه 16 شهریور 1388, 13:34 عصر
سلام:
می خواستم بدونم چطور میشه فهمید که فرم پدر در حال حاضر چند تا فرم فرزند داره؟
یا بهتر بگم اینکه آیا فرم فرزندی در حال حاضر باز هستش یا نه؟
اگه میشه جوابمو بدید.

اَرژنگ
دوشنبه 16 شهریور 1388, 19:36 عصر
سلام:
می خواستم بدونم چطور میشه فهمید که فرم پدر در حال حاضر چند تا فرم فرزند داره؟
یا بهتر بگم اینکه آیا فرم فرزندی در حال حاضر باز هستش یا نه؟
اگه میشه جوابمو بدید.

بستگی دارد به اینکه با چه کدی فرمهایه فرزند را باز میکند.

didaaa
سه شنبه 17 شهریور 1388, 10:20 صبح
ببین اژنگ جان من میخوام فقط بدونم در حال حاضر فرم پدر فرزندی داره یا نه؟
همین راستش جور دیگه ای نمیتونم منظورمو برسونم.
چون فکر میکنم منظورم واضح گفتم بازم از پاسخگوییت ممنون.

Reza_Yarahmadi
سه شنبه 17 شهریور 1388, 11:33 صبح
ببین کد زیر کارتو راه میندازه!
int ChildForms = 0;
foreach (Form ff in Application.OpenForms)
{
if (ff.MdiParent == this)
ChildForms++;
}

اَرژنگ
سه شنبه 17 شهریور 1388, 15:24 عصر
ببین اژنگ جان من میخوام فقط بدونم در حال حاضر فرم پدر فرزندی داره یا نه؟
همین راستش جور دیگه ای نمیتونم منظورمو برسونم.
چون فکر میکنم منظورم واضح گفتم بازم از پاسخگوییت ممنون.


دیداجان،
دانستن اینکه چه فرمهایه باز هستند برایه انجام دادن کاری است.
حالا اگر دلیل این کار مهم باشه، نتیجه میگریم که این برایه برنامه مهم است، و اینکه یک چیزی پیاده بشه که حساب کتاب فرمهایه باز و اینکه کدام فرم بازش کرده را داشته باشد میارزه به اینکه هر بار که لازم دارید کاری انجام بدید که به باز بودن و یا نبودن فرم و اینکه والدش چیه بستگی داشته باشته یک سری شرائط را دوباره طی کنید، یا اینکه یک تیکه کد را جاهایه مختلف دوباره پیاده کنید، شما میخواهید که این منطق در یک کلاس نگهداری بشه، تا اینکه هر بار هر جا لازم دارید دوباره در کد پیادش کنید.
در سطح پائین، میشه یک کد نوشت که باز بودن و یا نبودن فرمها را چک کند ولی
اگر برایه کار برنامه اینکه چه فرمی باز هست و یا نیست، و اینکه درخواست بازشدنش را کی صادر کرده بود، میشه در یک کلاس نگه داشت، از کلاس درخواست کرد که فلان فرم را فلان فرم درخواست میکند که باز کنید، اگر درخواست بازشدن قابل قبول است، فرم را باز میکند و حساب نگه میداره، هر وقت بخواهید بدانید چه فرمهایی باز هستند از همان کلاس درخواست میکنید که بهتان بگه.
ولی اگر این فقط برایه یک فرم است، برنامه‌تان منطق پیچیده‌ای برایه باز کردن و بستن فرمها لازم ندارد، به احتمال زیاد همان کدی که Reza_Yarahmadi فرستادن کارتان را راه میندازه.
من از لحاظ معماری برنامه‌نویسی پرسیدم، بستگی به نیازتان دارد، من نخواستم بدانه دانستن اینکه مشکل اصلی و نیازهایه شما چی هستند همینطوری یک جواب بفرستم.
شما منظورتان را درست رساندید، ولی دلیل احتیاجتان به این هدف روشهایی پینشنهادی را کاملا میتواند عوض کند.