لطفا راهنمايي كنين كه براي نوشتن برنامه زير چكار بايد كرد
در فرم اول برنامه مي خواهيم با زدن يك كليد فرم دوم نمايش داده شده و فرم اول مخفي بشه، سپس با زدن كليدي كه روي فرم دوم هست فرم دوم مخفي و فرم اول آشكار بشه.
با تشكر.
لطفا راهنمايي كنين كه براي نوشتن برنامه زير چكار بايد كرد
در فرم اول برنامه مي خواهيم با زدن يك كليد فرم دوم نمايش داده شده و فرم اول مخفي بشه، سپس با زدن كليدي كه روي فرم دوم هست فرم دوم مخفي و فرم اول آشكار بشه.
با تشكر.
قبلش یه سرچ توسایت میکردید بهتربود..اینم برنامش
سلام. راه حل شما به اين صورت بود كه با زدن كليد روي فرم اول كد زير اجرا بشه:
Form2 f2=new form2
f2.show
this.hideو با زدن كليد روي فرم دوم كد زير اجرا بشه:Form1 f1=new form1
f1.show
this.hideاشكالش اين هست كه با اين كار دائما فرم جديد ساخته ميشه در حاليكه فرمهاي قبلي وجود دارند و بسته نشدند و فقط مخفي شدند.اينكار حافظه رو اشغال ميكنه. عيب ديگيرش اين هست كه اگر فرضا روي فرم اول مون يه textbox داشته باشيم و موقع اجرا يه مقداري تو اون بزنيم و سپس طبق روش گفته شده به فرم دوم بريم و بعد به فرم اول برگرديم ديگه اون مقداري كه قبلا تو textbox زده بوديم از بين ميره و خالي نمايش داده ميشه.
آيا راهي هست كه فقط يك بار فرمها ايجاد بشن و سپس اونها رو مخفي يا آشكار كنيم. به عبارتي راهي هست كه وقتي كليد روي فرم دوم رو مي زنيم فرم اول بدون اينكه دوباره ساخته بشه نمايش داده بشه؟
با سلام
دوتا فرم باز کن هر کدوم یک دکمه داشته باشن.
تو دکمه فرم اولی اینو بنویس :
Form2 f2 = new Form2();
f2.Show();
this.Hide();
تو دکمه فرم دومی اینو بنویس :
this.Close();
Application.OpenForms["form1"].Show();
مشکلت حل میشه...
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
سلام.
از جواب و راه حلتون ممنونم.
كار كرد.
حالا يه سوال ديگه:اگه روي فرم اول يه textbox باشه و بعد با زدن يه كليد فرم دوم باز بشه، چطوري داخل فرم دوم مقدار textbox اي كه روي فرم اول هست رو به دست بياريم؟
اگه راهنمايي كنين متشكر ميشم.
این روش درسته کار میکنه ولی مشکلات بیشتری تولید میکنه( توی چند تاپیک در موردش بحث شده)تو دکمه فرم اولی اینو بنویس :
کد PHP:
Form2 f2 = new Form2();
f2.Show();
this.Hide();
تو دکمه فرم دومی اینو بنویس :
کد PHP:
this.Close();
Application.OpenForms["form1"].Show();
مشکلت حل میشه...
برای کاری که شما میخواید انجام بدید ساده ترین روش اینه که بصورت زیر عمل کنید
Form2 f2 = new Form2();
Hide();
f2.ShowDialog();
Show();
توی این روش دیگه نیازی نیست بدونید کدوم فرم Form2 رو نمایش میده که به اون برگردید.
برای پیدا کردن روشهای دیگه میتونید یه جستجو توی سایت کنید.
https://barnamenevis.org/showthread.php?t=91138حالا يه سوال ديگه:اگه روي فرم اول يه textbox باشه و بعد با زدن يه كليد فرم دوم باز بشه، چطوري داخل فرم دوم مقدار textbox اي كه روي فرم اول هست رو به دست بياريم؟
https://barnamenevis.org/showthread.php?t=213787
https://barnamenevis.org/showthread.php?t=239955
https://barnamenevis.org/showthread.php?t=230305
https://barnamenevis.org/showthread.php?t=225703
اینها انواع سؤالات در مورد انتقال و یا دسترسی به اطلاعات فرم دیگه است (کمتر از 1 دقیقه وقت برد!!)