PDA

View Full Version : مشکل در استفاده از چند فرم



mahsa.sh
جمعه 23 تیر 1391, 22:28 عصر
سلام
من برنامه ای نوشتم که توش از 2 تا فرم استفاده شده.
در فرم اول یک btn تعریف کردم با انتخاب اون فرم دوم لود میشه ، ولی فرم اول همچنان در صفحه وجود داره ، برای اینکه فرم اول بسته بشه و فقط فرم دوم نمایش داده بشه باید چی کار کنم؟

veniz2008
جمعه 23 تیر 1391, 23:25 عصر
سلام،توی فایل program.cs و در متد application.run شما نام فرمی رو که در ابتدا نمایش داده میشه رو می بینید.(برای 2 فرم بصورت پیش فرض Form1 می باشد) حالا اگه بخوای form2 رو نمایش بدی و form1 رو ببندی، چون برنامه شما براساس فرم1 اجرا شده به محض بستن فرم1 ، کل پروژه بسته میشه. اگه قصد دارید فرم1 نمایش داده نشه میتونید فرم1 رو مخفی کنید و فرم2 رو نمایش بدید( ()Form1.Hide)

mahsa.sh
جمعه 23 تیر 1391, 23:30 عصر
سلام،توی فایل program.cs و در متد application.run شما نام فرمی رو که در ابتدا نمایش داده میشه رو می بینید.(برای 2 فرم بصورت پیش فرض Form1 می باشد) حالا اگه بخوای form2 رو نمایش بدی و form1 رو ببندی، چون برنامه شما براساس فرم1 اجرا شده به محض بستن فرم1 ، کل پروژه بسته میشه. اگه قصد دارید فرم1 نمایش داده نشه میتونید فرم1 رو مخفی کنید و فرم2 رو نمایش بدید( ()Form1.Hide)

بسیار متشکرم

mehdy.programmer
جمعه 23 تیر 1391, 23:30 عصر
دوست عزیز فقط کافیه بعد از لود فرم دوم این کد رو بزارین تا فرم اول hide بشه:

this.hide();


موفق باشی

mehdikhazaei
جمعه 23 تیر 1391, 23:50 عصر
private void button6_Click(object sender, EventArgs e)
{
frmGrid_View g = new frmGrid_View();
this.Hide();
g.ShowDialog();
}

mahsa.sh
یک شنبه 25 تیر 1391, 22:34 عصر
سلام
من به یک مشکل دیگر بر خوردم. اون هم موقع بستن فرم هاست. در فرم 2 با انتخاب یک btn باید کار close انجام شود ولی این دستور فقط فرم 2 را میبندد و فرم 1 که hide هم شده است همچنان باز باقی می ماند

mahsa.sh
یک شنبه 25 تیر 1391, 22:41 عصر
سلام
من به یک مشکل دیگر بر خوردم. اون هم موقع بستن فرم هاست. در فرم 2 با انتخاب یک btn باید کار close انجام شود ولی این دستور فقط فرم 2 را میبندد و فرم 1 که hide هم شده است همچنان باز باقی می ماند

مشکلم حل شد!!!:لبخندساده:

veniz2008
یک شنبه 25 تیر 1391, 23:16 عصر
وقتی میخواید بطور کامل از برنامه خارج بشید از دستور زیر استفاده کنید:

Application.ExitThread();

mahsa.sh
دوشنبه 26 تیر 1391, 01:10 صبح
ممنون.
یک سوال دیگه داشتم . چه جوری میشه محل نمایش فرم رو در صفحه مشخص کرد ، مثلا اینکه دقیقا در مرکز صفحه باشه؟

the king
دوشنبه 26 تیر 1391, 02:01 صبح
ممنون.
یک سوال دیگه داشتم . چه جوری میشه محل نمایش فرم رو در صفحه مشخص کرد ، مثلا اینکه دقیقا در مرکز صفحه باشه؟

مشخصه StartPosition اش را روی CenterScreen تنظیم کنید.

mehdy.programmer
دوشنبه 26 تیر 1391, 09:12 صبح
دوست عزیز برای مشخص کردن موقعیتش نسبت به کل صفحه (desktop) از این کد:

frm.SetDesktopLocation(x,y);

و برای مشخص کردن موقعیتش نسبت به فرم والد از این کد:

frm.Location.X = x;
frm.Location.Y = y;

youngold
دوشنبه 26 تیر 1391, 09:37 صبح
راه منطقيش اينه كه اپليكشنتو به صورت سرويس بنويسي كه بالا اومدنش وابسته به فرم نباشه اونوقت توش فرم باز كني هر چند تا و هر وقت خاصي ببنديشون

mahsa.sh
دوشنبه 26 تیر 1391, 10:47 صبح
راه منطقيش اينه كه اپليكشنتو به صورت سرويس بنويسي كه بالا اومدنش وابسته به فرم نباشه اونوقت توش فرم باز كني هر چند تا و هر وقت خاصي ببنديشون

اگه توضیح بیشتری بدید ممنون میشم.