PDA

View Full Version : سوال: امکان نمایش Form1 در Panel1



StepUp360
شنبه 13 شهریور 1389, 23:25 عصر
با سلام

چطوری میشه یک فرم رو توی یک پنل خاص از فرم های دیگر باز کرد یا نمایش داد؟




مثلا وقتی ما دوتا فرم داریم: Form1 و Form2




کاربر روی دکمه ای روی فرم یک که برای نمایش فرم2 هستش کلیک کنه، فرم 2 داخل یکی از پنل های فرم1 باز بشه...

آیا این امکان وجود داره؟

sinashahab
یک شنبه 14 شهریور 1389, 00:09 صبح
سلام

این جوری که شما میگید فکر نکنم بشه .

ولی چندتا راه داره که امتحانش ضرر نداره :
1.اجازه ندی فرم از محدوده ی پنل خارج بشه !!
که ما قبلا یه چیزی شبیه اینی که گفتم رو نوشتیم :
http://programming.ramiz.ir/index.php?option=com_kunena&Itemid=64&func=view&catid=9&id=18

2.مثلا کنترل های فرمی که می خوای باز بشه رو روی فرم اصلیت بزاری و VISIBLE اونا هم FALSE کنی و وقتی روی دکمه کلیک کرد اونا نمایش پیدا بکنن .

مهدی فرزاد
یک شنبه 14 شهریور 1389, 00:29 صبح
سلام
بله وجود داره به سادگی

Form2 f2 = new Form2();
f2.TopLevel = false;
f2.Dock = DockStyle.Fill;
panel1.Controls.Add(f2);
f2.Show();

StepUp360
جمعه 01 اردیبهشت 1391, 21:22 عصر
ضمن عرض سلام خدمت اساتید محترم و تبریک سال نو.
یه مشکل الان بهش برخوردم...
من توی فرمم یه پنل گذاشتم که با استفاده از منو فرم های دیگه ام رو توی اون پنل باز میکنم... حالا میخواستم وقتی کاربر کلید Escape رو بزنه فرم های باز شده بسته بشه

if (e.KeyCode == Keys.Escape)
panel_CenterMain.Controls.Clear();

و وقتی مثلا F1 به عنوان کلید میانبر بزنه مثلا فرم1 دوباره توی پنل باز بشه اما با کد فوق وقتی بعد از Escape کلید F1 رو میزنه دیگه توی پنل add نمیشه یا به عبارتی فرم دیگه باز نمیشه، و باید از منو، با موس کلیک کنه تا فرم مورد نظر باز بشه، شما نمیدونید مشکل کجاست؟ ممکنه وقتی کنترل های پنل رو کلیر میکنیم یه چیزی از کار میفته که با کلیک کردن فعال میشه؟البته من خیلی خوب بلد نیستم سوال مطرح کنم، امیدوارم متوجه شده باشد...
if (e.KeyCode == Keys.F2)
{
frm_CreateGroupsUser creatGroupUser = new frm_CreateGroupsUser();
creatGroupUser.TopLevel = false;
panel_CenterMain.Controls.Add(creatGroupUser);
creatGroupUser.WindowState = FormWindowState.Maximized;
creatGroupUser.Show();
}
لطفا راهنمای کنید، پیشاپیش سال 92 مبارک.

Mahmoud.Afrad
شنبه 02 اردیبهشت 1391, 05:36 صبح
مشکلی نداره که.
این رو ببینید.

StepUp360
دوشنبه 04 اردیبهشت 1391, 00:08 صبح
ممنونم از توجه شما، نمیدنم چرا قبلا کدم کار نمیکرد اما الان درست کار میکنه... مثل برنامه ای که شما فرستادید جناب mafaman2003 (http://barnamenevis.org/member.php?71297-mafaman2003)من با 2008 کار میکنم نتونستم کد برنامه شما رو ببینم اما فایل EXE رو دیدم، ممنونم.

Mahmoud.Afrad
دوشنبه 04 اردیبهشت 1391, 13:18 عصر
کافیه بود داخل فولدر پروژه فایل پروژه رو با vs باز کنید(Show_form_in_panel.csproj)
1- در ابتدا فایل پروژه را با NotePad باز کنید ( Open With ----> Notepad )
*** فایل پروژه همان فایلی است که با باز کردن آن پروژه باز میشود ( پسوند آن .Sln )


2- حالا این قسمت رو پیدا کنید Format Version 11.00
و اونو به Format Version 10.00 تغییر دهید (اگر میخواید به 2005 تبدیل بشه اونو به 09.00 تغییر دهید)



3- این قسمت رو هم پیدا کنید Visual Studio 2010
و اونو به Visual Studio 2008 تغییر بدید (اگر میخواید به 2005 تبدیل بشه اونو به 2005 تغییر دهید)


4- پنجره Notepad را ذخیره کنید ( با کلیدهای Ctrl+s )


5- حالا ویژوال را باز کنید، ازمنوی فایل گزینه open و سپس open file را انتخاب کنید و از داخل پوشه ای که فایل های برنامه درون آن قرار دارند فایلی همنام پروژه با پسوند csproj. را باز کنید




6- حالا این قسمت رو پیدا کنید "ToolsVersion="4.0
و آنرا به 3.5 تغییر دهید


7- این قسمت را پیدا کنید v4.0
و اینم به 3.5 تغییر بدید