และเมื่อกดปุ่มได้ฟอร์ม a มา และฟอร์ม a นั้นก็มีปุ่มเพื่อเปิดฟอร์ม b
ทีนี้อยากจะถามว่าผมจะต้องเขียนโค้ดยังไงให้ ฟอร์ม b(เมื่อกดปุ่มในฟอร์ม a) นั้นมาแสดงในหน้า mdicontainer แทนฟอร์ม a คับ
และเมื่อเปิดฟอร์ม b แล้วใช้คำสั่งอะไรที่ทำให้ฟอร์ม a มันปิดตัวเอง
โค้ดที่ผมเขียนตอนนี้เป็นประมาณนี้คับ
Code (C#)
private void CreateOrShowForm(Form frm) {
Form[] frms = this.MdiChildren;
bool bFound = false;
// ค้นหาหน้าจอ MDI Children ทั้งหมด
for (int i = 0; i < frms.Length; i++){
if (frms[i].GetType() == frm.GetType()) // เช็คดูว่า Type ของ Form ที่สั่งเปิดมีอยู่แล้วรึเปล่า
{
frms[i].BringToFront();
bFound = true;
break;
}
}
// ถ้าไม่พบ จะสร้าง Form ขึ้นมาใหม่
if (!bFound) {
frm.MdiParent = this;
frm.Show();
}
}
private void button1_Click(object sender, EventArgs e)
{
CreateOrShowForm(new a());
}
โค้ดทั้งหมดนี้แค่เป็นการเปิดฟอร์ม a คับ
แต่ถ้าจะให้มันเปิดอีกรอบและให้มันปิดตัวพร้อมกันไปเรย
ต้องทำยังไง ตามที่ได้ชี้แจงไปคับ