PDA

View Full Version : مشکل در نمایش یک فرم به مدت دلخواه



akobar
یک شنبه 07 شهریور 1389, 23:09 عصر
سلام
من میخوام یک فرم چند ثانیه نمایش داده شه وبعد بسته و فرم دیگر نمایش داده شود
برنامه را میذارم لطفا اشکالمو بگیرید
با تشکر

s.khoshfekran
یک شنبه 07 شهریور 1389, 23:24 عصر
دوست عزیز از Thread.Sleep() استفاده کن!

akobar
یک شنبه 07 شهریور 1389, 23:29 عصر
من این روش را که شما میگید بلد نیستم
میشه با کد مثال بزنید

ali_autumnal
یک شنبه 07 شهریور 1389, 23:29 عصر
سلام




Form1 f1 = new Form1();
f1.ShowDialog();
System.Threading.Thread.Sleep(10);
f1.Close();
f1.Dispose();
Form2 f2 = new Form2();
f2.ShowDialog();
System.Threading.Thread.Sleep(10);
f2.Close();
f2.Dispose();


موفق باشید
علی پاییزی

akobar
یک شنبه 07 شهریور 1389, 23:34 عصر
سلام آقای پاییزی
این کد ها را کجا بنویسم
من میخوام فرم 1 بعد از 5 ثانیه بسته شه و فرم 2 باز بشه و باز بمونه

ali_autumnal
یک شنبه 07 شهریور 1389, 23:41 عصر
سلام آقای پاییزی
این کد ها را کجا بنویسم
من میخوام فرم 1 بعد از 5 ثانیه بسته شه و فرم 2 باز بشه و باز بمونه

خوب اون جایی که میخوایی :
مثلا روی یه باتون کلیک کن و این کدها رو بنویس

البته منظور از Form1 نام فرمی که شما میخواهید نشان داده بشه هست.
و همچنین Form2

group45
یک شنبه 07 شهریور 1389, 23:44 عصر
سلام مشکلتون تو ندونستن طرز استفاده از تایمر بود. براتون درستش کردم
اگه شما vs2008 ندارید فقط کافیه فایلهای form1.cs و form2.cs رو باز کنید

akobar
دوشنبه 08 شهریور 1389, 00:02 صبح
خوب اون جایی که میخوایی :
مثلا روی یه باتون کلیک کن و این کدها رو بنویس

البته منظور از Form1 نام فرمی که شما میخواهید نشان داده بشه هست.
و همچنین Form2

آره
ولی فرم 1 اولین فرم برنامه من هست
یعنی در program.cs این کد ها رو بنویسم
بعد من میخوام که خود به خود وقتی برنامه run میشه یک فرم نمایش داده شه بعد بسته و فرم اصلی لرنامه باز شه
اگه میشه با مثال توضیح بدین
خیلی دوست دارم این روش شما رو یاد بگیرم
مرسی

ali_autumnal
دوشنبه 08 شهریور 1389, 00:22 صبح
آره
ولی فرم 1 اولین فرم برنامه من هست
یعنی در program.cs این کد ها رو بنویسم
بعد من میخوام که خود به خود وقتی برنامه run میشه یک فرم نمایش داده شه بعد بسته و فرم اصلی لرنامه باز شه
اگه میشه با مثال توضیح بدین
خیلی دوست دارم این روش شما رو یاد بگیرم
مرسی


با program.cs کاری نداریم.

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

timer1.Start()

سپس روی تایمر کلیک کن و کد زیر رو بنویس:



timer1.Stop();
System.Threading.Thread.Sleep(8);
this.Hide();
Form2 f2 = new Form2();
f2.ShowDialog();
this.Close();


حالا همین کار رو واسه فرم 2 انجام بده:
یعنی یه تایمر بهش اضافه کن
تو لود فرم 2 بنویس
timer1.start
روی تایمر کلیک کن و بنویس:




timer1.Stop();
System.Threading.Thread.Sleep(8);
this.Hide();
Form1 f1 = new Form1();
f1.ShowDialog();
this.Close();



با این کار فرم 1 فرم 2 رو نمایش میده
و فرم 2 فرم 1 رو نمایش میده.

موفق باشید
علی پاییزی
--------------------
اگه مقدار sleep رو به 500 افزایش بدی بهتر دیده میشه.

group45
دوشنبه 08 شهریور 1389, 14:13 عصر
اگه از کدی که دوستمون گذاشتن یعنی کد زیر استفاده کنی


system.threading.thread.sleep(8);

برنامت به مدت 8 میلی ثانیه مشه گفت متوقف میشه و تا پایان زمان هیچ کاری با برنامه نمیتونی بکنی حتی درگشم نمیتونی بکنی.

برنامه رو دیدی؟؟؟؟؟؟