0

我使用相同 MDIChild 表单 (frmChart) 的多个实例(myForm1、myForm2 等)来显示不同的 MSCharts:

frmMain: 

Private Sub Open()

        dim myForm1 as frmChart
        myForm1.Show

        dim myForm2 as frmChart
        myForm2.Show

End sub

当我尝试保存一个打开的实例的 MSChart 时会出现问题,因为我调用了一个调整图片框大小的 frmChart.SaveChart() 函数,然后调用了 Form_Load() 事件,因此打开了一个新的额外 frmChart。

frmChart:

Public Sub SaveChart()
   picGrapgh.Height = chChart.Height
   picGrapgh.Width = chChart.Width
   picGraph.Autoredraw = True
   picGraph.Picture = picGraph.Image
   SavePicture picGraph.picture, FileName
End Sub

当我调用那个 sub 时,它会调用 frmChart 的 Form_Load()。这仅在我使用表单实例 (myForm1) 时发生。一旦我使用了 frmChart 的 PictureBox 控件的任何属性,它就会启动 Form_Load 事件。我怎么能阻止它?

非常感谢您提前。

问候, 鲁本

4

1 回答 1

2

有2个问题:

dim myForm1 as frmChart

这只是声明如果/何时创建(实例化)myForm1 它将是类型。frmChart创建一个实际的实例frmChart

dim myForm1 as New frmChart

由于myFormN现在是 的实例frmChart,因此您可以直接在/通过实例变量上调用这些过程:

myForm1.SaveChart
于 2014-05-05T17:26:15.257 回答