如何在显示报表后显示父表单?

时间:2013-02-14 05:49:59

标签: vb.net winforms vb6-migration

我在同时显示父表单和报表表单时遇到问题。当用户单击父表单进行打印时,如果用户单击是按钮它应该打印表单屏幕时应该弹出是或否按钮拍摄图像,如果我们点击“否”按钮,它应该显示水晶报告。

当我们点击“否”按钮时,它应该显示水晶报告。所以显示我这样做的消息框 me.hide()

if MsgBox('Do you want to print screen shot image?') then 
'Print screen shot image
me.Show()
else
'Show CxReport
me.Show()
end if

当我这样做时,父表格正在敲击并且无法执行操作。

3 个答案:

答案 0 :(得分:0)

在显示对话框时隐藏表单不是标准做法。完全删除me.hide和me.show行,然后重试。

答案 1 :(得分:0)

我知道这个问题很旧,你现在可能已经弄明白了,但我想我会添加一个答案供将来参考。所有Forms都有FormClosingFormClosed事件,您可以在创建表单中附加处理程序。以下是我想说的一个简单例子。

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Hide()
        If MsgBox("Open Report?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
            Dim frm2 As Form2 = New Form2
            AddHandler frm2.FormClosed, AddressOf ReportClosing
            frm2.Show(Me)
        Else
            Me.Show()
            'Do your work for printing form here
        End If

    End Sub

    Private Sub ReportClosing(sender As Object, e As FormClosedEventArgs)
        'Remove handler to prevent memory leaks
        RemoveHandler DirectCast(sender, Form2).FormClosed, AddressOf ReportClosing
        Me.Show()
    End Sub

End Class

答案 2 :(得分:0)

Atlast I找到了访问父页面hiddenField Value的方法,如下所示

function getParentPageHField() {
    var parentPageHField = window.opener.document.getElementById('hSelectedStandard').value;
    document.getElementById('hStandard').value = parentPageHField;
}

感谢您的意见: - )