2014-05-05 26 views
0

我用同樣的MDIChild形式(frmChart)的多個實例(myForm1,myForm2,等...),以顯示不同的MSCharts:VB6 MDI子窗體:PictureBox的調用Form_Load事件

frmMain: 

Private Sub Open() 

     dim myForm1 as frmChart 
     myForm1.Show 

     dim myForm2 as frmChart 
     myForm2.Show 

End sub 

的問題發生時,我嘗試保存一個打開的實例的MSChart,因爲我調用了一個frmChart.SaveChart()函數,它調整了一個picturebox的大小,然後調用了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事件。我怎麼能阻止它?

非常感謝您提前。

問候, 魯

+2

代替frmChart.SaveChart的'( )'使用'myForm1.SaveChart'(或'myForm2')將圖表保存在該表單上。如果這是VB6,爲什麼vb.Net標記? – Plutonix

+0

嗨,Plutonix,我該如何使用myForm1.SaveChart()函數?當我嘗試輸入時出現錯誤。我只能在frmChart窗體或模塊中創建函數。你能告訴我如何獲取myForm實例引用的函數或表單事件嗎?對不起,如果你看到任何NET標籤,我要求VB6。 – user3604923

+0

你的代碼應該是'dim myForm1 as new frmChart',myForm1是frmChart的一個實例,frmChart中的過程將在myForm1和myForm2中可用。 – Plutonix

回答

2

有2個問題:

dim myForm1 as frmChart 

這只是聲明myForm1的類型爲frmChart,如果/當創建一個(實例化)。要創建的frmChart一個實際的例子:

dim myForm1 as New frmChart 

由於myFormN現在是frmChart一個實例,就可以調用這些程序直接上/直通實例變量:

myForm1.SaveChart