สอบถาม Code C# ครับ ในการกำหนด MDI Form ให้เปิดได้แค่ Form เดียว
ก็......น่าจะประมาณนับฟอร์มเอามั้ง ไม่ค่อยได้เขียน mdi
Code (C#)
private int numOfChilde = 0;
private void mnuCreateChild_Click(object sender,EventArgs e)
{
if(numOfChild == 0)
{
childForm.Show();
numOfChild++;
}
}
แบบนี้พอได้ไหม
Date :
2010-06-28 03:43:09
By :
AnimalMan
ลองเอาไปประยุกต์ใช้ดูครับ
Code (C#)
private void Form1_Click(object sender, EventArgs e)
{
foreach (Form currentform in this.MdiChildren)
{
if (currentform is Form1)
{
currentform.MdiParent = this;
currentform.Show();
return;
}
}
Form1 frm = new Form1();
frm.WindowState = FormWindowState.Maximized;
frm.MdiParent = this;
frm.Show();
}
Date :
2010-06-28 08:19:31
By :
tee
ของคุณ บร๊ะเจ้าช่วย!!! ถ้าหากปิด Form นั้นไปแล้วก็จะไม่สามารถเปิด Form นั้นขึ้นมาได้อีกเลยนะครับ..
Date :
2012-07-06 10:38:17
By :
นักสร้าง
ของคุณ tee ใช้ไดผลดีมากครับ ขอบคุณครับ
Date :
2012-07-06 10:48:40
By :
นักสร้าง
ตัวอย่างนี้
1. เราสร้าง MDI ฟอร์มชื่อ MainMDI
2. สร้้าง Sub ShowForm ไว้สำหรับเปิดฟอร์มแบบครั้งเดียว ถ้าฟอร์มนั้นเปิดอยู่แล้ว ก็ให้ Activate ขึ้นมา
3. เป็นตัวอย่างการใช้งาน ShowForm โดยเปิดฟอร์มชื่อ TestForm
Code (VB.NET)
Public Class MainMDI
Public Sub ShowForm(Of FormType As {Windows.Forms.Form, New})()
Try
For Each ChildForm As Form In Me.MdiChildren
If TypeOf ChildForm Is FormType Then
ChildForm.Focus()
Exit Sub
End If
Next
Dim frm As New FormType
frm.MdiParent = Me
frm.Show()
Catch ex As Exception
' แสดงข้อผิดพลาด
End Try
End Sub
Private Sub miTestForm_Click(sender As System.Object, e As System.EventArgs) Handles miTestForm.Click
Me.ShowForm(Of TestForm)()
End Sub
End Class
ประวัติการแก้ไข 2012-07-06 11:13:08
Date :
2012-07-06 11:10:02
By :
watcharop
opss เค้าต้องการ C# นี่น่า
ไม่ได้ดู
แต่ไม่ถนัด C# ฝากเป็น VB ล่ะกัน
Date :
2012-07-06 11:11:26
By :
watcharop
ของคุณ tee ใช้ได้ดีเลย ขอบคุณมากๆ
Date :
2013-03-06 00:54:41
By :
begin
Load balance : Server 05