HOW TO:將物件傳遞至程序
更新:2007 年 11 月
Visual Basic 可讓您將物件視為引數傳遞給程序,就像傳遞其他類型的引數一般。以下程序將說明如何進行。
若要將表單的新執行個體傳遞至程序
開啟專案,建立名為 Form1 的新表單,然後將名為 Button1 的命令按鈕加入表單。
將下列程式碼複製到表單:
Private Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim newForm As New Form1 newForm.Show() CenterForm(newForm) End Sub Sub CenterForm(ByVal TheForm As Form) ' Centers the form on the screen. Dim RecForm As Rectangle = Screen.GetBounds(TheForm) TheForm.Left = CInt((RecForm.Width - TheForm.Width) / 2) TheForm.Top = CInt((RecForm.Height - TheForm.Height) / 2) End Sub
您也可以利用傳址方式 (By Reference) 將物件做為引數傳遞,然後在程序中將引數設定為新物件。
若要將物件參考傳遞至另一表單的程序
開啟專案並建立名為 Form1 的表單。
加入稱為 Form2 的第二個表單。
在每個表單上放置圖片方塊控制項。
將 Form1 的圖片方塊控制項命名為 PictureBox1。
將 Form2 的圖片方塊控制項命名為 PictureBox2。
按一下 [屬性] 視窗中的 [影像] 屬性,替 PictureBox2 指派圖片。任何小型影像都可以,您可以在 Windows 目錄中找到 .bmp 及 .jpg 檔案。
將下列程式碼加入至 Form2:
Public Sub GetPicture(ByVal x As PictureBox) Dim objX As PictureBox ' Assign the passed-in picture box to an object variable. objX = x ' Assign the value of the Picture property to the Form1 picture box. objX.Image = PictureBox2.Image End Sub
將下列程式碼加入 Form1 的 Form1_Click 事件:
Protected Sub Form1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Dim newForm2 As New Form2 newForm2.GetPicture(PictureBox1) End Sub
執行應用程式,然後按一下 Form1。Form2 的圖片會顯示在 Form1 的圖片方塊中。
Form1_Click 事件程序會呼叫 Form2 中的 GetPicture 程序,然後將空的圖片方塊控制項傳遞至該程序。Form2 中的 GetPicture 程序會將 Form2 圖片方塊控制項的 [影像] 屬性指派至 Form1 的空白圖片方塊控制項,然後 Form2 的影像就會顯示在 Form1 上。