如何公开子窗体ShowDialog

时间:2019-04-25 14:19:39

标签: vb.net forms module public showdialog

如何使子窗体ShowDialog公开

我有Module,我想放一个代码,可以在所有项目中使用它打开表单。

我试图将此代码放入“模块放置不起作用”

Public Sub OpenForm(ByVal Frm As Form)
    Frm = New Frm()
    frm.ShowDialog()
End Sub

错误为“未定义'Frm'类型”

致谢,并感谢您的帮助 塞勒姆

2 个答案:

答案 0 :(得分:2)

可以编写您的子项以显示对话框

Public Module MyModule

    Public Sub OpenForm(ByVal Frm As Form)
        frm.ShowDialog()
    End Sub

End Module

将被这样称呼

Dim myForm = New Form()
MyModule.OpenForm(myForm)

但是这样做会容易得多

Dim myForm = New Form()
myForm.ShowDialog()

编辑

这里是通用版本,因为它是模态使用的,所以可以构造和处理表格

Public Module MyModule

    Public Sub OpenForm(Of T As {Form, New})()
        Using frm As New T()
            frm.ShowDialog()
        End Using
    End Sub

End Module

将被这样称呼

MyModule.OpenForm(Of Form)()
' or with your custom form class
MyModule.OpenForm(Of MyCustomFormClass)()

答案 1 :(得分:0)

在模块

Public Sub ShowADialog()
    Dim dialog As New SaveFileDialog
    dialog.ShowDialog()
End Sub

形式

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ShowADialog()
End Sub