PDA

View Full Version : سوال: باز کردن فرم جدید و بستن فرم قبلی (در برنامه درحال اجرا )



یاشار رضایی نسب
دوشنبه 01 آذر 1389, 08:11 صبح
سلام
من تازه با visual studio2008 کار می کنم .
قبلا تو vb6 برای باز کردن فرم جدید وبستن فرم جاری در برنامه در حال اجرا از دستور زیر استفاده می کردم .
form2.show
unload me
حالا جایگزین این دستور تو visual studio2008 چیه ؟

xminxmin
دوشنبه 01 آذر 1389, 08:22 صبح
Form1.Show()
Form1.ShowDialog()
Form2.Close()

yekta64
دوشنبه 01 آذر 1389, 09:33 صبح
سلام
من تازه با visual studio2008 کار می کنم .
قبلا تو vb6 برای باز کردن فرم جدید وبستن فرم جاری در برنامه در حال اجرا از دستور زیر استفاده می کردم .
form2.show
unload me
حالا جایگزین این دستور تو visual studio2008 چیه ؟


بله دوست عزیز همنطور که دوستومن گفتن
شما برای باز کردن یه فرم جدید از

form1.show()
استفاده می کنی

در صورتی که بخوای تا زمانی که فرم 1 باز هستش کار بر قادر به کلیک روی فرم دیگه ای نباشه از
form1.showdilog()
استفاده می کنی
و در حالت کی برای بستن فرم از دستور:
form1.close()
و برای مخفی کردن فرم از دستور
forfm1.hide()
استفاده می کنید

موفق باشید.

یاشار رضایی نسب
دوشنبه 01 آذر 1389, 09:42 صبح
Form1.Show()
Form1.ShowDialog()
Form2.Close()

دوست عزیز جواب نمیده .
حالا من از form 1 میخوام برم form2 و form1 رو ببندم .
برای form1.close () ایراد می گیره .

yekta64
دوشنبه 01 آذر 1389, 09:51 صبح
دوست عزیز جواب نمیده .
حالا من از form 1 میخوام برم form2 و form1 رو ببندم .
برای form1.close () ایراد می گیره .


زمانی که شما از فرم 1 می خواید برید به فرم 2
باید به این صروت بنویسید:



me.close()
form2.show()


موفق باشید.

یاشار رضایی نسب
دوشنبه 01 آذر 1389, 10:03 صبح
زمانی که شما از فرم 1 می خواید برید به فرم 2
باید به این صروت بنویسید:



me.close()
form2.show()


موفق باشید.
با تشکر از راهنماییتون برای همه فرم ها جواب می ده بجز فرم 1
زمانی که بسته میشه کل برنامه بسته میشه .:عصبانی++:

یاشار رضایی نسب
دوشنبه 01 آذر 1389, 10:05 صبح
با تشکر از راهنماییتون برای همه فرم ها جواب می ده بجز فرم 1
زمانی که بسته میشه کل برنامه بسته میشه .:عصبانی++:
واسه فرم 1 از me.hide استفاده کردم و جواب داد
با تشکر از همه .

mansourii
دوشنبه 01 آذر 1389, 11:09 صبح
واسه فرم 1 از me.hide استفاده کردم و جواب داد
با تشکر از همه .

دوست عزيز
وقتي Form1.hide() ميكني بعد از اينكه برنامه رو ميبندي (Contlr+Alt+Delete ) رو بزن ببين چه اتفاقي ميافته!
برنامه تو هنوز بازه و سيستم عامل بعد از مدتي دچار بن بست ميشه و اصطلاحا HANG ميكنه.

براي اينكه همچين اتفاقي نيافته
توي رويداد Form_close اين دستور رو بنويس.

Form2.show()
me.close()
اميدوارم مشكل حل شده باشه.:لبخندساده:

یاشار رضایی نسب
دوشنبه 01 آذر 1389, 16:50 عصر
دوست عزيز
وقتي Form1.hide() ميكني بعد از اينكه برنامه رو ميبندي (Contlr+Alt+Delete ) رو بزن ببين چه اتفاقي ميافته!
برنامه تو هنوز بازه و سيستم عامل بعد از مدتي دچار بن بست ميشه و اصطلاحا HANG ميكنه.

براي اينكه همچين اتفاقي نيافته
توي رويداد Form_close اين دستور رو بنويس.

Form2.show()
me.close()
اميدوارم مشكل حل شده باشه.:لبخندساده:
درست ولی برای بستن برنامه چه در فرم 1 و چه در فرم 2 از دستور form1.close استفاده کردم .

pedram_ns
سه شنبه 02 آذر 1389, 15:12 عصر
سلام
اقا من هم همین مشکل رو دارم من برای رفتن به فرم دوم یک لینک گذاشتم و در رویداد کلیک لینک نوشتم:


Me.Close()
Form2.Show()

ولی تمام برنامه بسته می شه فکر کنم چون فرم اول فرم اصلیه با بسته شدن اون کل برنامه هم بسته می شه(شاید هم نه) می شه دقیقتر بگید برای این کار باید چه کرد؟

mansourii
سه شنبه 02 آذر 1389, 15:43 عصر
اين مشكل واقا حقير و ناچيزه . فكر ميكردم تا حالا حل شده باشه:متفکر:

pedram_ns
چهارشنبه 03 آذر 1389, 09:39 صبح
ممنون شما اومدید ابتدا فرم یک رو hide کردید و بعد در دستور بسته شدن فرم دوم، فرم اول رو هم بستید واقعا راهش همینه. کمی عجیبه!
خوب حالا در فرم دوم هم همین مشکل هست یعنی باید اون رو هم hide کنم و در رویداد بسته شدن فرم بعدی ببندمش.
اگر من مثلا 10 تا فرم داشته باشم و کاربر از فرم اول به هر فرم دیگه بتونه بره باید در تمامی فرم ها بقیه فرم ها ببندم؟ کمی غیر استاندارد نیست؟

mansourii
چهارشنبه 03 آذر 1389, 10:48 صبح
اگر من مثلا 10 تا فرم داشته باشم و کاربر از فرم اول به هر فرم دیگه بتونه بره باید در تمامی فرم ها بقیه فرم ها ببندم؟ کمی غیر استاندارد نیست؟
منظورتون از استاندارد نيست چيه؟
شما ميتونيد انو يك Public تعريف كنيد و توي همه فرم هاتون فراخوني كنيد . بيشتر دستورات اينطور نوشته ميشن
اگه بخوايم فرم اول كلا ببنيدم ديگه نميتونيم بهش دسترسي داشته باشيم.

اين برنامه رو براي اين گذاشتم كه هم بتونيم به فرم هاي قبليمون دسترسي پيدا كنيم و هم بتونيم در بسته شدن برنامه پروژه رو ببنديم.

اين قاعده اي رو كه شما گفتيد

مسئله بعدي اينكه :
(( ما نميتونيم فرش زير پاي خودمون رو بكشيم و جمع كنيم. ))
ما نميتونيم تو همون فرمي كه هستيم فرم رو Unload كنيم و بعد پرش به فرم بعدي كنيم. (متوجه ميشيد كه..)
اول بايد به فرم ديگه بريم و بعد فرم قبلي رو ببنديم
اگه مشكل حل نشد بگيد تا يك Program ديگه بذارم.:چشمک:

pedram_ns
چهارشنبه 03 آذر 1389, 11:55 صبح
ممنون.
من تازه کار هستم قبلا تحت وب کار کردم.
اگر خودتون یا در این سایت کسی یک پروژه نسبتا کامل ارائه کرده معرفی کنید تا نکات اولیه رو درک کنم.

ircast
پنج شنبه 12 اردیبهشت 1392, 13:46 عصر
برای نمایش فرم اصلی در صورت درست بودن اطلاعات ورود

FrmLogin.hide()
FrmMain.Show()

برای خروج از برنامه در رویداد formClose فرم اصلی این رو بنویسید

application.exit()

akbar3070
پنج شنبه 12 اردیبهشت 1392, 19:26 عصر
سلام
برای بستن فرم اول و باز کردن فرم دوم باید از دستور me.close
form.show
استفاده کرد . و برای جلوگیری از بسته شدن برنامه پس از فرم اول باید به به منوی project > windowsapplication1 > application برید و مقدار گزینه ی shutdown mode رو برابر when last form closes قرار بدید .

ahmad_201494
جمعه 09 خرداد 1393, 20:10 عصر
اين مشكل واقا حقير و ناچيزه . فكر ميكردم تا حالا حل شده باشه:متفکر:
با سلام
ممنون
ولی این که ت c# نیسته اگر ممکنه کد C# رو بزارید
با تشکر....

Rasul75
یک شنبه 16 شهریور 1393, 14:30 عصر
دوستان این قطعه کد رو داخل Form_closed بزارید درست میشه.

For i = System.Windows.Forms.Application.OpenForms.Count - 1 To 1 Step -1 Dim form As Form = System.Windows.Forms.Application.OpenForms(i)
form.Close() Next i

biotechsoft
دوشنبه 17 شهریور 1393, 07:04 صبح
چقدر کار ساده ای رو میپیچونن دوستان

برای بسته نشدن برنامه به منوی project > windowsapplication1 > application برید و shutdown mode رو برابر when last form closes قرار بدید

form1.show
me.close

Hamed258
پنج شنبه 08 بهمن 1394, 00:34 صبح
Form1.Show()
Form1.ShowDialog()
Form2.Close()


باسلام خدمت شما دوست عزیز معذرت میخوام که این سوال رو میپرسم ... این کد رو باید توی فرم لودر ، فرم یک باشه یا فرم دو؟؟؟
بازم شرمنده من دانش آموزم زیاد تجربه ندارم..

Sosha1996
پنج شنبه 08 بهمن 1394, 06:55 صبح
باسلام خدمت شما دوست عزیز معذرت میخوام که این سوال رو میپرسم ... این کد رو باید توی فرم لودر ، فرم یک باشه یا فرم دو؟؟؟
بازم شرمنده من دانش آموزم زیاد تجربه ندارم..

ببین اگه می خوای فرم 1 وقتی میری فرم 2 بسته شه؛
توی اون دکمه ای که قرار بزنی بری فرم 2 میزنی:
Form2.Show()
Me.Hide()


بعد میری توی فرم 2،

اول میری توی Event, بعد رو Form_Cloasing میزنی، توش این کد رو میزنی:
Form1.Close()


یکی از دوستان در پاسخ #11 یک برنامه ای قرار دادن که عملی همینیه که برات توضیح دادم.