如何使公共子表单ShowDialog

问题描述 投票:-1回答:2

如何使公共子表单ShowDialog

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

我试过把这段代码放在Module Put Not Working中

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

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

亲切的问候并感谢帮助Salem

vb.net forms module public showdialog
2个回答
2
投票

你可以写你的sub来显示一个对话框

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)()

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
© www.soinside.com 2019 - 2024. All rights reserved.