PDA

View Full Version : مشکل در showDialog کردن فرم



BehinAfzar
چهارشنبه 04 اسفند 1389, 23:02 عصر
سلام دوستان
من دو فرم دارم که به صورت متوالی به صورت ShowDialog نمایش داده میشوند اما وقتی که فرم دوم داخل فرم اول بسته میشه فرم اولی هم به صورت خود کار بسته میشه و من نمیخوام این اتفاق بیفته ؟؟؟
ایا راه حلی برای این مشکل وجود داره !!!
حتی اگه یک پیغام هم نمایش بدم باز هم فرم قبلی بسته میشه !!!

با تشکر

AmirHarirbafan
چهارشنبه 04 اسفند 1389, 23:48 عصر
منظورتون رو اینجوری متوجه شدم که Parent بسته میشه و نمیخواید فرزندش بسته بشه
اما این عملی نیست. هنگامی که Parent بسته شود، ناگزیر تمام فرزندان آن فرم نیز بسته خواهند شد و در اینجا چون شما فرم ها را ShowDialog میکنید، همین اتفاق خواهد افتاد. اگه شما میخواید که این اتفاق نیفته باید فرم فرزند را Show کنید نه ShowDialog.
اما اگه منظورتون برعکس این است. فکر کنم یک اشتباه کوچک کرده باشید و اون اینه که به Button خاصیت DialogResult دادید

BehinAfzar
شنبه 07 اسفند 1389, 11:28 صبح
سلام
منظورم این نیست !!!
ببینید اگه من یک فرم (شماره یک) رو showDialog کنم و داخل اون فرم (شماره دو ) یک messagebox رو نشون کاربر بدم بعد از اون که messageBoxبسته میشه فرم شماره دو هم بسته میشه . و من نمیخوام این اتفاق بیفته !!
البته من بعد از خط showDialog در فرم اول کد هایی رو نوشتم که بعد از بسته شدن فرم شماره دو اون کد ها هم اجرا میشه .
ممنون میشم اگه کمک کنین.

BehinAfzar
شنبه 07 اسفند 1389, 18:21 عصر
کسی مشکل ما رو بلد نیست !!!
حیاتیه !!!
ممنون

m.soleimani
شنبه 07 اسفند 1389, 19:21 عصر
سلام
منظورم این نیست !!!
ببینید اگه من یک فرم (شماره یک) رو showDialog کنم و داخل اون فرم (شماره دو ) یک messagebox رو نشون کاربر بدم بعد از اون که messageBoxبسته میشه فرم شماره دو هم بسته میشه . و من نمیخوام این اتفاق بیفته !!
البته من بعد از خط showDialog در فرم اول کد هایی رو نوشتم که بعد از بسته شدن فرم شماره دو اون کد ها هم اجرا میشه .
ممنون میشم اگه کمک کنین.

اون کدهایی که گفتی بعدش نوشتی چه کاری انجام می‌دن من یه نمونه ساده برات نوشتم که این مشکل را نداره
شما اگر مشکلی غیر از این داری کامل توضیح بده تا جوابت را بدم موفق باشی./

ma.rad
شنبه 07 اسفند 1389, 19:43 عصر
سلام من تست کردم بسته نمی شه-فرم اصلی شما والد ؟

BehinAfzar
شنبه 07 اسفند 1389, 21:54 عصر
سلام
توی این برنامه شما این اتفاق نمی افته !
توی بعضی از برنامه هام اینجوری میشه !!!
به عنوان مثال توی دو برنامه قسمتی از کد مشترک بود که توی یکی فرم بسته میشه و توی دیگری بسته نمیشه ؟؟؟
البته من خط به خط برنامه رو هم چک کردم .

m.soleimani
شنبه 07 اسفند 1389, 22:27 عصر
سلام
توی این برنامه شما این اتفاق نمی افته !
توی بعضی از برنامه هام اینجوری میشه !!!
به عنوان مثال توی دو برنامه قسمتی از کد مشترک بود که توی یکی فرم بسته میشه و توی دیگری بسته نمیشه ؟؟؟
البته من خط به خط برنامه رو هم چک کردم .

اگر از نظرت برنامه خاصی نیست بزار تا چکش کنم برات./

BehinAfzar
یک شنبه 08 اسفند 1389, 12:26 عصر
سلام دوستان
مشکل من حل شد !
علت هم این بود چون من فرم رو ShowDialog میکردم و این امر حتما باید مقداری را برگرداند و DialogResult فرم به صورت اتوماتیک مقداردهی می شد و چون مقدار برگشتی فرم مقدار دهی شده بود اون فرم بسته میشه و مقدار برگشتی رو به فرم Parent انتقال میده برای حل این مشکل بعد از نمایش فرم 3 کد زیر رو نوشتم
tihs.DialogResult = DialogResult.None;
یعنی مقدار برگشتی رو خالی کردم .
البته من هنوز متوجه نشدم چرا این مقدار برگشتی به صورت اتوماتیک مقدار دهی میشه !!؟؟
به هر حال از توجه همتون ممنونم !