PDA

View Full Version : قرار دادن فرمها به عنوان MDI child



vahid.ch013
دوشنبه 17 اسفند 1388, 10:12 صبح
سلام.
3 تا form دارم به نامهای frm_st که فرم مادر هست.
login که برای loginکردن و گرفتن user,pass هست.
و یه فرم دیگه به عنوان main_pageکه فرم اصلی و برنامه هست.
من frm_st رو به عنوان فرم مادر قرار دادم.
بعد از اجرای برنامه فرم login برای گرفتن user ,pass بالا میاد.
بعد از وارد کردن user,pass میهوام که فرم main_pageمن به عنوان mdichild ظاهر شه.




private void Frm_st_Load(object sender, EventArgs e)
{
login lo = new login();
lo.MdiParent = this;
lo.Show();
main_page mp = new main_page();
mp.MdiParent = this;

}

دستورات login:

private void pictureBox1_Click(object sender, EventArgs e)
{
if ((txt_pass.Text == "1") && (txt_user.Text =="Admin"))
{
main_page mp = new main_page();
mp.Show();
this.Hide();

}

}
اما با وارد کردن user passفرم main_page من به عنوان mdichild باز نمیشه.

M.YasPro
دوشنبه 17 اسفند 1388, 10:29 صبح
سلام
فرم مادر ؟ فرم اصلی ؟
چه فرقی بین اینا هست؟
شما میخوای توی فرم مادر login کنی و اگر درست بود توی فرم main_st که خودش parent هست یه parent دیگه ایجاد کنی ؟

اما با وارد کردن user passفرم main_page من به عنوان mdichild باز نمیشه.

خوب میخواین باز بشه؟با این کدی که نوشتین؟

main_page mp = new main_page();
mp.Show();
this.Hide();


اون mp که توی Frm_st_Load ساخته بودید از بین رفته چون محدوده دیدش تموم شده و با تمام شدن تابع Frm_st_Load اون هم از حافظه dispose میشه .
موفق باشید .

vahid.ch013
دوشنبه 17 اسفند 1388, 10:41 صبح
سلام
فرم مادر ؟ فرم اصلی ؟
چه فرقی بین اینا هست؟
شما میخوای توی فرم مادر login کنی و اگر درست بود توی فرم main_st که خودش parent هست یه parent دیگه ایجاد کنی ؟


خوب میخواین باز بشه؟با این کدی که نوشتین؟


اون mp که توی Frm_st_Load ساخته بودید از بین رفته چون محدوده دیدش تموم شده و با تمام شدن تابع Frm_st_Load اون هم از حافظه dispose میشه .
موفق باشید .

شما همه چیز رو تحلیل کردی الا اینکه به من بگید چیکار کنم.
شما فکر کن Main_page نیست page1 هست اسمش.
توی VB6 اینتوریه که خاصیت Mdichild رو اگه true کنی دیگه نیازی به کد نویسی نیست و تمام فرمها به عنوان child محسوب میشن.

M.YasPro
دوشنبه 17 اسفند 1388, 10:56 صبح
private void pictureBox1_Click(object sender, EventArgs e)
{
if ((txt_pass.Text == "1") && (txt_user.Text =="Admin"))
{
main_page mp = new main_page();
mp.MdiParent=this
mp.Show();

this.Hide();

}

}
سوالای من به خاطر این بود که شما کد درست رو بالا نوشتین ولی پایین یه خط رو جا انداختین
موفق باشید .

vahid.ch013
دوشنبه 17 اسفند 1388, 11:09 صبح
سوالای من به خاطر این بود که شما کد درست رو بالا نوشتین ولی پایین یه خط رو جا انداختین
موفق باشید .
دوست من ایم کدی که بالا من نوشتم مربوط به کد فرم مادر نیست یعنی توی فرم login نوشتم.
کلمه this هم برای فرم login هست.
ممنون میشم کمک کنید.

M.YasPro
دوشنبه 17 اسفند 1388, 11:37 صبح
کد داخل فرم login:


publicpartialclasslogin : Form
{
public login()
{
InitializeComponent();
}
privatevoid pictureBox1_Click(object sender, EventArgs e)
{
if ((txt_pass.Text == "1") && (txt_user.Text =="Admin"))
{
main_page mp = newmain_page();
mp.MdiParent = this.ParentForm;
this.Hide();
mp.Show();
}

}
privatevoid login_Load(object sender, EventArgs e)
{
}
}

موفق باشید .

vahid.ch013
دوشنبه 17 اسفند 1388, 11:42 صبح
کد داخل فرم login:


publicpartialclasslogin : Form
{
public login()
{
InitializeComponent();
}
privatevoid pictureBox1_Click(object sender, EventArgs e)
{
if ((txt_pass.Text == "1") && (txt_user.Text =="Admin"))
{
main_page mp = newmain_page();
mp.MdiParent = this.ParentForm;
this.Hide();
mp.Show();
}

}
privatevoid login_Load(object sender, EventArgs e)
{
}
}
موفق باشید .
این کد رو هم نوشتم اما توفیری نکرد.یعنی فرم main داخل فرم مادر تعریف شده نیست.

M.YasPro
دوشنبه 17 اسفند 1388, 11:45 صبح
:متعجب: فرم main داخل فرم frm_st نیست؟

vahid.ch013
دوشنبه 17 اسفند 1388, 11:46 صبح
کد داخل فرم login:


publicpartialclasslogin : Form
{
public login()
{
InitializeComponent();
}
privatevoid pictureBox1_Click(object sender, EventArgs e)
{
if ((txt_pass.Text == "1") && (txt_user.Text =="Admin"))
{
main_page mp = newmain_page();
mp.MdiParent = this.ParentForm;
this.Hide();
mp.Show();
}

}
privatevoid login_Load(object sender, EventArgs e)
{
}
}
موفق باشید .
ممنون دوست عزیز،درست شد.
من اشاتباها this.parent نوشتم الان نگاه کردم دیدم this.parentform هست.
ممنون.