PDA

View Full Version : جا دادن یک فرم در فرم دیگر



Emir New
سه شنبه 23 آبان 1391, 23:13 عصر
سلام
من می خواستم بدونم که آیا میشه یه فرم رو تو دل فرم دیگر لود کرد ؟
منظورم اصلا mdiform ها نیست
می خوام وقتی روی یه دکمه کلید می کنم فرم زیر همون فرم مورد نظرم لود شه

farghabil
سه شنبه 23 آبان 1391, 23:54 عصر
سلام
اول گفتی میشه یه فرم رو تو دل یه فرم دیگه لود کرد
بعد گفتی زیر فرم لود بشه.

واضح تر بگو

plus
چهارشنبه 24 آبان 1391, 01:13 صبح
اگه منظورت اينه كه بدون استفاده از MDI، يك فرم پدر يه فرم ديگه بشه، امتحان كردم نشد اين Error رو ميده:

Top-level control cannot be added to a control.

Emir New
چهارشنبه 24 آبان 1391, 11:56 صبح
اگه منظورت اينه كه بدون استفاده از MDI، يك فرم پدر يه فرم ديگه بشه، امتحان كردم نشد اين Error رو ميده:

Top-level control cannot be added to a control.

با تشکر دقیقا منظورم همین بود
ممنون

matin.soft
چهارشنبه 24 آبان 1391, 12:08 عصر
با تشکر دقیقا منظورم همین بود
ممنون
دوست عزیز باید خصوصیت isMDI container رو true کنی برای فرم پدر .
موفق باشید.

mandanim
چهارشنبه 24 آبان 1391, 12:43 عصر
CloseAllform();
Form1 tar = new Form1();
tar.TopLevel = false;
tar.Parent = this.panel2;
tar.Show();
tar.Dock = DockStyle.Fill;
label1.Text = e.Command.Text;

حالا برای بستن فرم فرزند


private void CloseAllform()
{
if (this.panel2.Controls.Count > 0)
foreach (Form aForm in this.panel2.Controls)
aForm.Close();
}

plus
چهارشنبه 24 آبان 1391, 23:28 عصر
CloseAllform();
Form1 tar = new Form1();
tar.TopLevel = false;
tar.Parent = this.panel2;
tar.Show();
tar.Dock = DockStyle.Fill;
label1.Text = e.Command.Text;

حالا برای بستن فرم فرزند


private void CloseAllform()
{
if (this.panel2.Controls.Count > 0)
foreach (Form aForm in this.panel2.Controls)
aForm.Close();
}

جالب بود نمي‌دونستم ميشه TopLevel رو تغيير داد.

Nima_kyan
پنج شنبه 25 آبان 1391, 04:38 صبح
سلام
من می خواستم بدونم که آیا میشه یه فرم رو تو دل فرم دیگر لود کرد ؟
منظورم اصلا mdiform ها نیست
می خوام وقتی روی یه دکمه کلید می کنم فرم زیر همون فرم مورد نظرم لود شه

سلام
این مثال هم میتونه کمکت کنه
http://barnamenevis.org/showthread.php?364591-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF-%D8%8C-%D9%81%D8%B1%D9%85-%D9%87%D8%A7%DB%8C-%D9%81%D8%B1%D8%B2%D9%86%D8%AF-%D8%AE%D9%88%D8%AF-%D8%B1%D8%A7-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-maximize-%D8%AF%D8%B1-%D9%81%D8%B1%D9%85-Main-%D8%A8%D8%A7%D8%B2-%DA%A9%D9%86%DB%8C%D8%AF&p=1609808&viewfull=1#post1609808

Emir New
شنبه 27 آبان 1391, 23:14 عصر
CloseAllform();
Form1 tar = new Form1();
tar.TopLevel = false;
tar.Parent = this.panel2;
tar.Show();
tar.Dock = DockStyle.Fill;
label1.Text = e.Command.Text;

حالا برای بستن فرم فرزند


private void CloseAllform()
{
if (this.panel2.Controls.Count > 0)
foreach (Form aForm in this.panel2.Controls)
aForm.Close();
}
با تشکر میشه بیشتر درباره این کد توضیح بدید
مثلا panel 2 چی هست ؟
یا e.Command.Text؟