PDA

View Full Version : سوال: بستن فرم ها



Iran58
پنج شنبه 27 خرداد 1389, 12:50 عصر
سلام
دربرنامه ام 3تا فرم دارم فرم 1 را كه برنامه ران مي شود ظاهر مي شود بايك كليك فرم 1 روي فرم 2 باز مي شود وهچنين با يك كليك بر روي فرم 2 فرم3 باز مي شود
حال مشكل من اينجاست كه چگونه مي توانم هرگاه فرم3 را با كليك بروي فرم2 باز كردم فرم2 حذف شود( منظورم هايد شدن نيست)
وبعد از بستن فرم 3 مستقيما به فرم1 بروم

amir-yeketaz
پنج شنبه 27 خرداد 1389, 13:14 عصر
سلام
دربرنامه ام 3تا فرم دارم فرم 1 را كه برنامه ران مي شود ظاهر مي شود بايك كليك فرم 1 روي فرم 2 باز مي شود وهچنين با يك كليك بر روي فرم 2 فرم3 باز مي شود
حال مشكل من اينجاست كه چگونه مي توانم هرگاه فرم3 را با كليك بروي فرم2 باز كردم فرم2 حذف شود( منظورم هايد شدن نيست)
وبعد از بستن فرم 3 مستقيما به فرم1 بروم
سلام ...
خوب من برنامشو اختصاصی براتون نوشتم ... برو حالشو ببر

امیدوارم تونسته باشم یه کمک کوچیکی بکنم ...
موفق باشید

Iran58
پنج شنبه 27 خرداد 1389, 13:36 عصر
سلام ...
خوب من برنامشو اختصاصی براتون نوشتم ... برو حالشو ببر

امیدوارم تونسته باشم یه کمک کوچیکی بکنم ...
موفق باشید
سلام
الف)براي اينكه form1بروي form2آورده نشود(دسترسي نداشته ام باشيم تا هنگاميكه form2باز است چكاربايد كرد)
ب)آيا با اين روش مي توان form1 باتوجه به اينكهform2باز مي شود را هم closeكرد وهرگاه از form 2خارج شديم برنامه هم بسته نشود

amir-yeketaz
پنج شنبه 27 خرداد 1389, 14:15 عصر
درست متوجه سوالتون نشدم ... میشه واضح تر توضیح بدین ...

Iran58
پنج شنبه 27 خرداد 1389, 14:23 عصر
درست متوجه سوالتون نشدم ... میشه واضح تر توضیح بدین ...
سلام
الف)به فرم زيرين دسترسي نداشته باشيم (اگرفرم2باز بودبه فرم 1دسترسي نداشته باشيم)
ب)هرگاه فرم 2ظاهر شد فرم 1كلا بسته شود وبازبستن فرم 2مستقيما ازبرنامه خارج شويم

amir-yeketaz
پنج شنبه 27 خرداد 1389, 15:07 عصر
سلام
الف)به فرم زيرين دسترسي نداشته باشيم (اگرفرم2باز بودبه فرم 1دسترسي نداشته باشيم)

این برنامه برای این سوال:

amir-yeketaz
پنج شنبه 27 خرداد 1389, 15:10 عصر
سلام
ب)هرگاه فرم 2ظاهر شد فرم 1كلا بسته شود وبازبستن فرم 2مستقيما ازبرنامه خارج شويم
البته من از متد Hide استفاده کردم ... از اونجا که فرم اصلی رو فکر نکنم که بشه بست و فقط میتونید اولویت اونو در کلاس Program و قسمت Application.Run عوض کنید ...
خوب این هم برای این سوال :



موفق باشید ...

rus1362
چهارشنبه 02 تیر 1389, 03:20 صبح
you can do some thing like this
namespace WindowsFormsApplication1
{
class Program : ApplicationContext
{
public Program(Form form)
: base(form)
{
}

protected override void ExitThreadCore()
{
// If no more open forms, allow exit
if (Application.OpenForms.Count == 0)
base.ExitThreadCore();
else
{
// check if this.MainForm still open
bool mainFormStillOpen = false;
foreach (Form form in Application.OpenForms)
if (form == MainForm)
{
mainFormStillOpen = true;
break;
}

// if this.MainForm was closed, pick an arbitrary open one to be 'it'
if (!mainFormStillOpen)
MainForm = Application.OpenForms[0];
}
}

[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Program(new Form1()));
}
}
ask if had any problem
}

NIK
چهارشنبه 02 تیر 1389, 08:37 صبح
سلام
الف)براي اينكه form1بروي form2آورده نشود(دسترسي نداشته ام باشيم تا هنگاميكه form2باز است چكاربايد كرد)


Form2 frm2 = new Form2();
frm2.ShowDialog();

Iran58
جمعه 18 تیر 1389, 08:26 صبح
سلام


private void btnBack_Click(object sender, EventArgs e)
{
//this.Close();
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ShowForm));
t.Start();
this.Close();
}
private static void ShowForm()
{
Application.Run(new frmSwitchBoard());
}