PDA

نسخه کامل مشاهده نسخه کامل : close The Form



shotok
30-05-2010, 20:56
با سلام
برنامه من winApp است.هنگام اجرای برنامه کاربر ابتدا فرم انتخاب شماره پیش فرض رو انتخاب می کنه و بعد از تائید، فرم اصلی رو می بینه.
برای این کار من کد زیر رو نوشتم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی نمی دونم چرا کل فرم ها بسته می شه.

یه راهم گفتم به جای this.close از کد this.hide استفاده کنم و در رویداد
sendsms_Shown یا
sendsms_FormClosing از this.clode استفاده کنم ولی باز جواب نداد؟

anvar.net
30-05-2010, 21:16
بجای this.clode از this.Dispose; استفاده کن.

البته من فقط تو فرم های Log In از این استفاده می کنم

shotok
31-05-2010, 08:41
بجای this.clode از this.Dispose; استفاده کن.

من این کار رو انجام دادم ولی هر دو فرم بسته می شه.

pezhmax
31-05-2010, 10:26
فقط از hide استفاده کن. اگر هرکدوم از متدهای dispose یا close رو اجرا کنی برنامه ات بسته میشه. البته این فقط تو سی شارپ و فرم اصلی برنامه است.

L u K e !
31-05-2010, 12:31
خوب می تونی تنظیم کنی که اگه فرم اصلی بسته شد از برنامه بیاد بیرون یا کل فروم ها
روی Project ت راست کلیک کن اونجا می تونی تنظیم کنی

pezhmax
31-05-2010, 14:51
خوب می تونی تنظیم کنی که اگه فرم اصلی بسته شد از برنامه بیاد بیرون یا کل فروم ها
روی Project ت راست کلیک کن اونجا می تونی تنظیم کنی

تو VB میشه ولی تو سی شارپ 3.5 نمیشه این کارو کرد.

L u K e !
31-05-2010, 18:16
توهین کردی ها
بیا اینا رو یه نیگا کن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

pezhmax
31-05-2010, 19:55
خوب اینا هم میگن تو setting سی شارپ این امکان نیست که :



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه واقعا جایی تو setting سی شارپ جایی هست که این امکان رو بده.آدرس دقیقشو بگو چون من خودم واسه یه پروژه رو این مساله کلی بدبختی کشیدم ولی آخرش هم نشد و همنجوری فرم splash رو hide کردم.

_H2_
01-06-2010, 01:13
سلام
در C# فرم اصلی برنامه در فایل Program.cs مشخص میشود.

اگر روش منطقی و صحیح این کار را میخواهید:
شما باید فرم شروع کننده برنامه را همان فم اصلی و ثابت برنامه قرار دهید و فرم 'اسکرین' و 'لوگین' و همین 'شماره پیش فرض' و... را قبل از دستور Application.Run قرار دهید ...

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یا این فرم های موقت را بعد از نمایش فرم اصلی و در رویداد های سازنده و Load و... فرم اصلی نمایش دهید.
موفق باشید.

shotok
01-06-2010, 17:21
سلام

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


با سلام
هنگام اجرای فرم اصلی این خطا رو می ده:

System.InvalidOperationException was unhandled
Message="Starting a second message loop on a single thread is not a valid operation. Use Form.ShowDialog instead."

_H2_
02-06-2010, 22:40
سلام
شما فقط و فقط یکبار و برای یک فرم (فرم اصلی) میتوانید از متد Application.Run استفاده کنید، برای سایر فرم های قبل و بعد از فرم اصلی برنامه بسته به شرایط و نیاز از متدهای Show و ShowDialog استفاده کنید، عین نمونه کد پست نهم.