pubilc class FrmMain ()
Private Sub MenuFrmOne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuFrmOne.Click
Dim CurrentForm As Form
'' ค้นหาฟอร์มนี้ว่ามีเปิดอยู่หรือไม่
For Each CurrentForm In Me.MdiChildren
If TypeOf CurrentForm Is FrmOne Then
CurrentForm.MdiParent = Me
CurrentForm.Show()
''ถ้ามีก็ฟ้อง Msgbox
MessageBox.Show("!!!ฟอร์มนี้เปิดใช้งานอยู่แล้ว!!!", "ผมการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Question)
Exit Sub
End If
Next
''ถ้าไม่มีก็ให้โชว์ฟอร์มนี้
Dim frmNew As New FrmOne
frmNew .MdiParent = Me
frmNew .Show()
End Sub
**ไม่รู้ตรงกับความต้องการหรือไม่
ผิดพลาดประการใดก็ ขอ อภัย ด้วยครับ
tee
Date :
2009-07-23 09:54:27
By :
lee_latee
No. 5
Guest
แค่ยินดีตอบผมก็สุดซึ้งแล้วครับ
Date :
2009-07-23 14:06:05
By :
zerocool
No. 6
Guest
คุณ lee_latee ครับ รบกวนอรกนิดครับ
โค๊ดที่ให้มาตรงครับ แต่ยังติดปัญหานิดครับ คือถ้าเป็น 1 form ไม่มีปัญหาอะไรครับ แต่ถ้าเปิด 2 form ขึ้นไป มัน error บันทัดนี้ครับ For Each CurrentForm In Me.MdiChildren ไม่ทราบว่าผมเขียน code ผิดตรงไหนหรอครับ
Code (VB.NET)
Public Class Form1
Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click
Dim CurrentForm As Form2 '' ค้นหาฟอร์มนี้ว่ามีเปิดอยู่หรือไม่
For Each CurrentForm In Me.MdiChildren
If TypeOf CurrentForm Is Form2 Then
CurrentForm.MdiParent = Me
CurrentForm.Show() ''ถ้ามีก็ฟ้อง Msgbox
MessageBox.Show("!!!ฟอร์มนี้เปิดใช้งานอยู่แล้ว!!!", "ผมการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Question)
Exit Sub
End If
Next ''ถ้าไม่มีก็ให้โชว์ฟอร์มนี้
Dim frmNew As New Form2
frmNew.MdiParent = Me
frmNew.Show()
End Sub
Private Sub CloseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseToolStripMenuItem.Click
Dim CurrentForm As Form3 '' ค้นหาฟอร์มนี้ว่ามีเปิดอยู่หรือไม่
For Each CurrentForm In Me.MdiChildren
If TypeOf CurrentForm Is Form3 Then
CurrentForm.MdiParent = Me
CurrentForm.Show() ''ถ้ามีก็ฟ้อง Msgbox
MessageBox.Show("!!!ฟอร์มนี้เปิดใช้งานอยู่แล้ว!!!", "ผมการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Question)
Exit Sub
End If
Next ''ถ้าไม่มีก็ให้โชว์ฟอร์มนี้
Dim frmNew As New Form3
frmNew.MdiParent = Me
frmNew.Show()
End Sub
End Class
Public Class Form1
Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenToolStripMenuItem.Click
Dim CurrentForm As Form ''**************************** แก้ตรงนี้ครับ
For Each CurrentForm In Me.MdiChildren
If TypeOf CurrentForm Is Form2 Then
CurrentForm.MdiParent = Me
CurrentForm.Show() ''ถ้ามีก็ฟ้อง Msgbox
MessageBox.Show("!!!ฟอร์มนี้เปิดใช้งานอยู่แล้ว!!!", "ผมการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Question)
Exit Sub
End If
Next ''ถ้าไม่มีก็ให้โชว์ฟอร์มนี้
Dim frmNew As New Form2
frmNew.MdiParent = Me
frmNew.Show()
End Sub
Private Sub CloseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseToolStripMenuItem.Click
Dim CurrentForm As Form ''******************************** แก้ตรงนี้ครับ
For Each CurrentForm In Me.MdiChildren
If TypeOf CurrentForm Is Form3 Then
CurrentForm.MdiParent = Me
CurrentForm.Show() ''ถ้ามีก็ฟ้อง Msgbox
MessageBox.Show("!!!ฟอร์มนี้เปิดใช้งานอยู่แล้ว!!!", "ผมการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Question)
Exit Sub
End If
Next ''ถ้าไม่มีก็ให้โชว์ฟอร์มนี้
Dim frmNew As New Form3
frmNew.MdiParent = Me
frmNew.Show()
End Sub
End Class
Date :
2009-07-27 17:34:46
By :
lee_latee
No. 8
Guest
ขอบคุณมากคับ ได้แล้วครับ
Date :
2009-07-27 18:15:44
By :
zerocool
No. 9
Guest
คัยว่างมั่งค่ะ แก้มอยากปรึกษาเรื่อง MDI Form หน่อยอ่าค่ะ