VB.NET使用表单名称返回表单对象

VB.NET使用表单名称返回表单对象,vb.net,Vb.net,我基本上是在为我的一个应用程序编写一个自定义的错误记录表单,因为不能信任用户向我报告错误 我使用“MethodBase”对象获取表单名称,然后获取DeclaringType名称 Dim st As StackTrace = New StackTrace() Dim sf As StackFrame = st.GetFrame(1) Dim mb As MethodBase = sf.GetMethod() Dim dt As String = mb.Declari

我基本上是在为我的一个应用程序编写一个自定义的错误记录表单,因为不能信任用户向我报告错误

我使用“MethodBase”对象获取表单名称,然后获取DeclaringType名称

    Dim st As StackTrace = New StackTrace()
    Dim sf As StackFrame = st.GetFrame(1)
    Dim mb As MethodBase = sf.GetMethod()
    Dim dt As String = mb.DeclaringType.Name
然后我如何使用它来获取表单对象,这样我就可以将它传递给我的“截屏方法”,截屏特定表单引用

Public Sub SaveAsImage(frm As Form)

    'Dim fileName As String = "sth.png"
    'define fileName

    Dim format As ImageFormat = ImageFormat.Png
    Dim image = New Bitmap(frm.Width, frm.Height)
    Using g As Graphics = Graphics.FromImage(image)
        g.CopyFromScreen(frm.Location, New Point(0, 0), frm.Size)
    End Using
    image.Save(_LogPath & Date.Now.ToString("ddMMyyyy") & ".png", format)

End Sub

我对一个类似的问题发布了相同的解决方案。试试这个:

Dim frm=Application.OpenForms.Itemdt