จากความเดิมที่แล้ว ผมมี Form A เป็นฟอร์มแม่ แล้วข้างในมีฟอร์มลูกเป็น Form B แล้วข้างในฟอร์มลูกมี Form C เป็นย่อยอีกชั้น
ที่ต้องการคือให้ฟอร์ม C มันเปิดได้แค่หน้าเดียวห้ามเปิดซํ้า ค้นหาข้อมูลถามใครก็แล้วก็ไม่ได้สักทีครับ (ถ้าให้ทําได้ช่วยบอกผมทีนะครับ)
จนมาพบปัญหาเยอะแยะ เลยคิดว่าถ้าเปิดฟอร์ม C แล้วงั้นฟอร์ม B กับ ฟอร์ม A ก็จะทําอะไรไม่ได้ดีกว่าจะได้หมดปัญหา ถ้าอยากใช้ก็ต้องปิดฟอร์ม C ก่อน แต่พอดีมีปัญหาอีก หัวจะระเบิดมันไม่ให้ใช้ ShowDialog ใน Mdiparent
'Check Mdi form is open
Private Function ExistsForm(ByVal f As String) As Boolean
Dim fc As FormCollection = Application.OpenForms
Dim ret As Boolean = False
For Each fe As Form In fc
If fe.Name.Equals(f, StringComparison.CurrentCultureIgnoreCase) Then
fe.Activate()
ret = True
End If
Next
Return ret
End Function
Private Sub ShowForm(ByVal f As Form, Optional ByVal IsMdiChildren As Boolean = True, Optional ByVal IsModual As Boolean = False)
If IsMdiChildren Then
If Not f.IsMdiContainer Then
f.MdiParent = Me
End If
Call ShowFormX(f, IsModual)
Else
Call ShowFormX(f, IsModual)
End If
End Sub
Private Sub ShowFormX(ByRef frm As Form, ByVal isModual As Boolean)
If isModual Then
Using x As Form = frm
x.ShowDialog()
End Using
Else
frm.Show()
End If
End Sub
พอมีแบบ C# ไหมครับ VB อ่านไม่รู้เรื่องครับ
ครับผมเข้าใจผิดเพราะว่าปกติผมเขียนแต่เว็บแอฟ ไม่ได้เขียน Windows form เลยนี้คือพึ่งจะเริ่มมาจับได้เลยก็ว่าได้