PDA

View Full Version : سوال: غیرفعال کردن اولین فرم و فعال کردن مجدد



Marzieh_A
یک شنبه 13 دی 1388, 19:09 عصر
با سلام خدمت دوستان عزیز
من یه مشکل خیلی پیش پا افتاده توی c# دارم اما هر چی تو سایت گشتم راه حلش رو نتونستم پیدا کنم و اون اینه که وقتی از فرمی به فرم دیگه میرم و می خوام فرم قبلی disable بشه، enabled فرم مربوطه رو false می کنم ولی وقتی می خوام دوباره اون رو true کنم امکانش نیست.
اگر ممکنه راهنمایی کنبد که باید چه جوری این کار رو انجام بدم.
در ضمن موضوع دیگه ای هم که هست اینه که فرمی که می خوام غیرفعال بشه فرم اصلی من هست و کلاسی جدا ازش نساختم که با اون کلاس این کار رو انجام بدم.


در ضمن مدیران محترم سایت توی سایت search کردم اما نتونستم چیزی که بتونه مشکل من رو حل کنه پیدا کنم. لطفا این پست رو پاک نکنید.
ممنون از راهنمایی هایی که می کنید.

SMRAH1
یک شنبه 13 دی 1388, 19:14 عصر
سلام
نیازی به این کارها نیست.فرم دوم را به جای بازکردن با دستور Show،با دستور ShowDialog باز کنید.
موفق باشید

Marzieh_A
یک شنبه 13 دی 1388, 21:33 عصر
ممنون از راهنماییتون
اما یه مشکل دیگه ای هم هست.
و اون اینه که من هنگام خارج شدن از فرم اصلی opacity رو کم کردم و وقتی بر می گردم باید opacity دوباره 1 بشه میشه بگید باید چه جوری این کار رو بکنم چون بازم با کمک

Main.ActiveForm.Opacity = 1.0

کار نمی کنه.

SMRAH1
دوشنبه 14 دی 1388, 00:11 صبح
سلام
آیا مطمئنی که Main.ActiveForm همون فرمی هست که می خواهی Opacity تغییر کنه؟
بهتره توی همون فرم اصلی (بعد از بازگشت)Opacity رو تغییر بدی (this.Opacity=1.0).
موفق باشید

Marzieh_A
دوشنبه 14 دی 1388, 08:20 صبح
سلام
آیا مطمئنی که Main.ActiveForm همون فرمی هست که می خواهی Opacity تغییر کنه؟
بهتره توی همون فرم اصلی (بعد از بازگشت)Opacity رو تغییر بدی (this.Opacity=1.0).
موفق باشید
event مربوط به بسته شدن اين dialog تو فرم اصلي چيه؟ :خجالت:

SMRAH1
دوشنبه 14 دی 1388, 12:28 عصر
سلام
من دقیقا نمی دونم شما از چه روشی استفاده کردید ولی معمولا از این روش استفاده میشه:
فرض کنید یک فرم اصلی به نام MainForm و فرم دومی به اسم Form2 داریم.در این صورت احتمالا کدی شبیه کد زیر در قرم MainForm دارید که فرم دوم رو باز می کنه:
this.Opacity = 0.2
Form2 frm = new Form2();
frm.ShowDialog()
this.Opacity = 1

موفق باشید