PDA

View Full Version : هر فرم فقط یک بار باز بشه



مهدی رحیم زاده
دوشنبه 04 آذر 1387, 16:27 عصر
سلام می خوام که فرم های برنامم طوری باز بشه که هر کدوم اگه باز بود دیگه از اون فرمی باز نشه .
در ضمن من از Parent و ... هم استفاده نکردم .
تو حالت معمول که یک آبجکت ایجاد می کنیم و بعد اونو Show می کنیم . چطور باید کاری کنیم که اگه فرمی باز بود دیگه از اون آبجکتی ایجاد نشه ؟؟؟؟
ممنون

smt_414
دوشنبه 04 آذر 1387, 18:38 عصر
سلام

داخل بخش دو -سه تا نمونه کد برای این کار وجود داره

موفق باشید

شرلوک هلمز
دوشنبه 04 آذر 1387, 22:23 عصر
بجای show از showDialog استفاده کن

مهدی رحیم زاده
سه شنبه 05 آذر 1387, 05:41 صبح
داخل بخش دو -سه تا نمونه کد برای این کار وجود داره
میدونم اما من اونا رو پیدا نکردم
میشه برام لینکشو بزارید.

مهدی رحیم زاده
سه شنبه 05 آذر 1387, 05:49 صبح
و نکته در مورد ShowDialog :
من می خواهم همه فرم های برنامم باز بشن از هر کدوم فقط یکی نه چند تا . در واقع می خوام جلوی این موضوع رو بگیرم که از یک آبجمت فرم چند تا ایجاد و باز نشه و اگه اون آبجت وجود داشت فقط Active بشه و در غیر این صورت یک آبجکت از اون ایجاد و Show بشه .
حالا وقتی از ShowDialog استفاده کنم هر لحظه فقط یکی از فرم های برنامه باز میشه و دسترسی به باقی اونا برای کاربر ممکن نیست .

masoud_parsa
سه شنبه 05 آذر 1387, 11:07 صبح
بايد توي فرم اصليت يه بار يه شي از فرمهاي ديگت درست كني بعدا جايي كه مي خواي فرمهات show بشه شبيه اين كد بايد بنويسي

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Form2 frm2 = new Form2();

private void button1_Click(object sender, EventArgs e)
{
if (frm2.Created == true)
{
frm2.Show();
}
else
{
frm2 = new Form2();
frm2.Show();
}

}
}

H2K
سه شنبه 05 آذر 1387, 12:49 عصر
سلام
:لبخندساده: اين هم ۳ روشى كه تو اين سايت هست مى تونين استفاده كنين ،

http://barnamenevis.org/forum/showpost.php?p=473313&postcount=125

http://barnamenevis.org/forum/showpost.php?p=470337&postcount=71

http://barnamenevis.org/forum/showpost.php?p=482919

مهدی رحیم زاده
چهارشنبه 06 آذر 1387, 13:09 عصر
اما نمی خوام که برنامه فقط یه بار اجرا بشه بلکه می خوام هر کدوم از فرمهای برنامه فقط یک بار اجرا بشه .
ممنون

مهدی رحیم زاده
پنج شنبه 07 آذر 1387, 07:17 صبح
آخه شماها چطور مشکلتونو حل می کنید .

s_ahmadneya
پنج شنبه 07 آذر 1387, 08:48 صبح
آخه شماها چطور مشکلتونو حل می کنید .
دوست عزیر خلاصه کار اینه که شما فقط یکبار شی فرم را بسازید وبارها همان را فراخانی کنید اگردر هز با بار کردن فرم newکنید انوقت فرم کاملا" جدیدی باز میشود .بهتر کدتان را مدیریت وبرای هر فرم یک بار new کنید

smt_414
پنج شنبه 07 آذر 1387, 11:16 صبح
سلام


آخه شماها چطور مشکلتونو حل می کنید
با جستجو :چشمک:

چند تا نمونه
البته لینک هایی که مد نظرم بود رو در اولین جستجو پیدا نکردم
اما اینها هم بد نیستن

http://barnamenevis.org/forum/showthread.php?t=112938&highlight=foreach+Form

http://barnamenevis.org/forum/showthread.php?t=112141&highlight=foreach+Form

http://barnamenevis.org/forum/showthread.php?t=127152&highlight=foreach+Form


موفق باشید