سلام
فرض کنید روی فرم1 یک باتن داریم و قراره با زدن این دکمه فرم 2 باز بشه
من میخوام با زدن دکمه فقط یکبار فرم 2 را باز کنه
یعنی وقتی فرم 2 باز شده با هر بار زدن دکمه دیگه فرم را باز نکنه
زبان برنامه نویسی هم سی شارپ
ممنون
Printable View
سلام
فرض کنید روی فرم1 یک باتن داریم و قراره با زدن این دکمه فرم 2 باز بشه
من میخوام با زدن دکمه فقط یکبار فرم 2 را باز کنه
یعنی وقتی فرم 2 باز شده با هر بار زدن دکمه دیگه فرم را باز نکنه
زبان برنامه نویسی هم سی شارپ
ممنون
کد:
this.Opacity = 0.0f;
this.ShowInTaskbar = false;
Form3 f = new Form3();
f.Show();
سلام
ممنون بابت پاسخ
هر چند منظور من کاملا واضح بود . اما به نظر میاد شما درست متوجه نشدید
من قصد ندارم فرم 1 محو بشه و فرم 2 نشون داده بشه .
یکبار دیگه پست 1 را بخونید تا متوجه منظور من بشید .
مرسی
تا زمانی که یک فرم با دستور Show یا Show dialog لود شده باشد، دیگه دستورات فوق اجرا نخواهد شد مگر اینکه فرم لود شده ، بسته شده باشد.
من فکر کنم که شما فرم 2 رو new می کنی . همونطور که دوستمون گفتن شما فرم 2 رو فقط با دستور Show یا Show dialog لود کنید.
براي نشان دادن فقط يك بار فرم مي تونيد از Application.OpenForms استفاده كنيد.يعني اينكه چك كنيد كه فرم باز هست يا نه.اگه نبود ازش نمونه گيري كنيد....
در حالت كلي براي نمونه گيري از يك شي حالا چه فرم چه كلاس يا هر چيز ديگه مي تونيذ از الگوي singelton استفاده كنيد....
یعنی بعد از اینکه فرم 2 بسته شد دیگه بازش نکنه؟یه bool تعریف کن دفعه ی اول مقدارشو بده از دفعه های بعدی چک کن ببین اگه مقدار داره نشون نده.
اگه میخوای 2 تا فرم 2 باز نکنه،این کارو نمیکنه،مگه اینکه هر بار یه فرم 2 جدید تعریف کنی.بازم با همون bool میشه جلوشو گرفت.
راه دیگش اینه که دکمه رو غیرفعال کنی(Button.Enabled = False).
این جدا تخیلی ترین روش غیب کردن فرم از صفحست!مگه Form.Close رو واسه کی گذاشتن؟!یا مثلا Form.Hide رو؟نقل قول:
this.Opacity = 0.0f;
this.ShowInTaskbar = false;
Form3 f = new Form3();
f.Show();