VB6 MDI子窗体:picturebox调用Form_Load事件

时间:2014-05-05 16:24:34

标签: vb6 invoke mdichild form-load

我使用相同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

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

非常感谢您提前。

此致 鲁本

1 个答案:

答案 0 :(得分:2)

有两个问题:

dim myForm1 as frmChart

如果/当创建一个(实例化)时,这只是声明myForm1 属于frmChart类型。要创建frmChart的实际实例:

dim myForm1 as New frmChart

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

myForm1.SaveChart