PDA

View Full Version : مدیریت چندین فرم



Encomp_Amini
یک شنبه 18 مهر 1389, 21:43 عصر
با سلام
سه فرم دارم که هریک باید بعد از دیگری لود شود و فرم قبلی بسته شود.
حال نمی دونم چطور باید این سه فرم را مدیریت کنم تا بعد از فرم اول که به عنوان فرم پیش فرض در program مشخص می شودفرم دوم باز گردد و برنامه به طور کلی بسته نگردد.

Salar Ashgi
یک شنبه 18 مهر 1389, 22:01 عصر
از دستورات زیر استفاده کنید :


this.hide();
or
this.close();

SaeedEzzati
سه شنبه 20 مهر 1389, 17:00 عصر
با سلام
یعنی فرقی نداره کدوشو استفاده کنیم؟ وقتی از hide استفاده میکنبم فرم فقط invisible میشه؟

mmd2009
سه شنبه 20 مهر 1389, 17:12 عصر
چرا فرق میکنه اگر شما فرم قبلی رو دیگه نیازی ندارید کد بالا اشتباه است یا بهتر بگم اصولی نیست، چون اصلا وقتی شما فرمی رو نیاز ندارید چرا باید تو حافظه قرار بگیره پس کلا باید قید Hide رو بزنید. و در مورد Close هم باید بگم این روش هم موقعی کاربرد داره که شما نخواهید فرم اصلی رو ببنید که اینطور که پیداست شما فرم اصلی رو هم Close میکنید و چون با Close از فرم اصلی هم خارج میشه پس کدهای بالا کلا کاربردی ندارن

شما میتونید از ریسمان برای این کار استفاده بکنید

یک نمونه مثال براتون میزنم امیدوارم به کارتون بیاد



private void button1_Click(object sender, EventArgs e)
{
// ریسمانی برای باز کردن فرم شماره دو
Thread Form2 = new Thread(delegate() { RunForm2(new Form2()); });
Form2.Start();
this.Close();
}
/// <summary>
/// متدی برای باز کردن فرم شماره دو
/// </summary>
/// <param name="newForm2"></param>
private void RunForm2(Form2 newForm2)
{
Application.Run(newForm2);
}

کدهای Program.cs



static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Form1());
}
}
موفق باشید

dr_jacky_2005
سه شنبه 20 مهر 1389, 17:14 عصر
با سلام
یعنی فرقی نداره کدوشو استفاده کنیم؟ وقتی از hide استفاده میکنبم فرم فقط invisible میشه؟

بله دیگه
از اسمشم مشخصه
اون غیب میکنه
اون میبنده!

شما باید از hide و show استفاده کنی

M.YasPro
سه شنبه 20 مهر 1389, 17:24 عصر
بهترین حالت join کردن thread ها به همدیگر هست . دوست خوبم mmd به روش خودشون اینکار رو انجام دادند و این بهترین حالت هست .
موفق باشید .