View Full Version : سوال: چگونگي بستن فرمي كه قبلا باز شده از داخل فرمي ديگر
Programmer 1
دوشنبه 22 شهریور 1389, 23:43 عصر
سلام،
فرض كنيد فرمي داريم و دو دكمه ، وقتي دكمه اولي رو كليك مي كنم يك فرم ديگه باز ميشه ، تا اينجا كه مشكلي ندارم ولي من قصد دارم با زدن دكمه بعدي همون فرمي كه در حال
نمايش هست رو ببندم ، اينجا نمي دونم چه طوري بايد به شي فرم دسترسي پيدا كنم تا اون رو ببندم . دوستان راه حل چيه ؟
با تشكر /.
MoS4k1
سه شنبه 23 شهریور 1389, 01:20 صبح
Application.OpenForms["نام فرم"].Close();
اَرژنگ
سه شنبه 23 شهریور 1389, 05:44 صبح
سلام،
فرض كنيد فرمي داريم و دو دكمه ، وقتي دكمه اولي رو كليك مي كنم يك فرم ديگه باز ميشه ، تا اينجا كه مشكلي ندارم ولي من قصد دارم با زدن دكمه بعدي همون فرمي كه در حال
نمايش هست رو ببندم ، اينجا نمي دونم چه طوري بايد به شي فرم دسترسي پيدا كنم تا اون رو ببندم . دوستان راه حل چيه ؟
با تشكر /.
قسمتی که پررنگ کردم، سوال اصلی است، به اینکه از همان اول چطوری دسترسی بهش داشته باشید فکر کنید.
اَرژنگ
سه شنبه 23 شهریور 1389, 06:05 صبح
Application.OpenForms["نام فرم"].Close();
اگر هدف این است که برنامهنویسی یاد بگیرند این روش پیشنهاد نمیشه.
اگر هم که فقط هدف یکجوری یکچیزی سرهم کنند این روش پیشنهاد میشه.
آزادی انتخاب به کاربر است.
C Sharp
سه شنبه 23 شهریور 1389, 08:39 صبح
راه حل به رابطه ای که بین فرم اول و فرم دوم داره ، بستگی داره
در ظاهر یه رابطه Aggregation بینشون هست
که اگه اینطور باشه ، یک متغیر از نوع فرم دوم داخل کلاس فرم اول تعریف کنید
هنگام کلیک روی دکمه اول یک شئ جدید از فرم دوم ایجاد کنید و به این متغیر تخصیص بدین
و هنگام کلیک روی فرم دوم بوسیله این متغیر کلاس میتونید به فرم بازتون دسترسی داشته باشین
public partial class Form1 : Form
{
public Form2 _form2;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (_form2 == null || _form2.IsDisposed)
{
_form2 = new Form2();
_form2.Show();
}
}
private void button2_Click(object sender, EventArgs e)
{
if (_form2 != null && _form2.IsDisposed == false)
{
_form2.Close();
}
}
}
نامگذاریها رو بر اساس پروژه خودتون تغییر بدین
mostafa_shoakry
سه شنبه 23 شهریور 1389, 09:02 صبح
اگر هدف این است که برنامهنویسی یاد بگیرند این روش پیشنهاد نمیشه.
چرا بیشتر توضیح نمی دین؟ :گریه:
اَرژنگ
سه شنبه 23 شهریور 1389, 09:31 صبح
چرا بیشتر توضیح نمی دین؟ :گریه:
اگر به پست C Sharp توجه کنید، قابلیت کار کردن با اشیا را به خوبی نمیایش دادند.
با ۱۰ دقیقه تمرکز و امتحان کردن کد پستی C Sharp بیشتر از هر توضیحی یاد میگیرید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.