PDA

View Full Version : حرکت از یک فرم به فرم دیگر



fazel-d
دوشنبه 07 بهمن 1387, 15:00 عصر
برای مشکل زیر چه راه حلی باید در نظر گرفت ؟

من در فایل Programs.cs / فرم اصلی یعنی MainForm رو run میکنم . حال با یک دکمه در MainForm فرم StudentSpecification را به صورت زیر فراخوانی می کنم :

StudentSpecification ss = new StudentSpecification();
this.Hide();
ss.Show();و وارد فرم StudentSpecification می شوم .
و وقتی که می خواهم از فرم StudentSpecification وارد MainForm شوم کد های زیر را وارد می کنم :

MainForm form = new MainForm();
form.Show();

this.Dispose(true);مشکل :

حال وقتی کــــــــــــــــــــــــ ـــه می خواهم MainForm را ببندم Application به طور کامل بسته نمی شود و در ثانی یه فرم غیر قابل روئت از همان MainForm باقی می ماند

به طور کلی : برای رفتن از فرم اصلی به یه فرم فرزند و بازگشتن از فرم فرزند به فرم والد
امید وارم منظورم را فهمیده باشید .

manitack
دوشنبه 07 بهمن 1387, 15:20 عصر
فرم مين رو به فرم دوم پاس بده(در سازنده) و در رويدادclosing فرم دوم فرم مين رو نمايش بده.
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
this.Owner.Show();
this.Owner.Select();
}
مهم اينكه در بازگشت نباييد از فرم مين نمونه سازي كني.

H2K
دوشنبه 07 بهمن 1387, 15:46 عصر
سلام ،
دوست عزيز بارها بحث شده يه search كن آقاى كيانى يه مقاله گذشتن در اين مورد خيلى كمك ميكنه بهت :لبخندساده:

saeed-kh
دوشنبه 07 بهمن 1387, 20:31 عصر
همونجور که دوستمون هم گفتن نباید از فرمmainدوباره نمونه سازی کنی .
چون اینجه دوتا فرم mainداری.
مگه انکه وقتی فرم جدید رو ایجاد میکنی فرم اصلی رو ببندی (نه مخفی)و دوباره نومنه سازی و بازش کنی.
برای پدر و فرزند میتونی از System.Windows.Forms.MdiClientاستفاده کنی دوست عزیز