共用方式為


HOW TO:將物件傳遞至程序

更新:2007 年 11 月

Visual Basic 可讓您將物件視為引數傳遞給程序,就像傳遞其他類型的引數一般。以下程序將說明如何進行。

若要將表單的新執行個體傳遞至程序

  1. 開啟專案,建立名為 Form1 的新表單,然後將名為 Button1 的命令按鈕加入表單。

  2. 將下列程式碼複製到表單:

    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) 將物件做為引數傳遞,然後在程序中將引數設定為新物件。

若要將物件參考傳遞至另一表單的程序

  1. 開啟專案並建立名為 Form1 的表單。

  2. 加入稱為 Form2 的第二個表單。

  3. 在每個表單上放置圖片方塊控制項。

  4. 將 Form1 的圖片方塊控制項命名為 PictureBox1。

  5. 將 Form2 的圖片方塊控制項命名為 PictureBox2。

  6. 按一下 [屬性] 視窗中的 [影像] 屬性,替 PictureBox2 指派圖片。任何小型影像都可以,您可以在 Windows 目錄中找到 .bmp 及 .jpg 檔案。

  7. 將下列程式碼加入至 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
    
  8. 將下列程式碼加入 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
    
  9. 執行應用程式,然後按一下 Form1。Form2 的圖片會顯示在 Form1 的圖片方塊中。

    Form1_Click 事件程序會呼叫 Form2 中的 GetPicture 程序,然後將空的圖片方塊控制項傳遞至該程序。Form2 中的 GetPicture 程序會將 Form2 圖片方塊控制項的 [影像] 屬性指派至 Form1 的空白圖片方塊控制項,然後 Form2 的影像就會顯示在 Form1 上。

請參閱

概念

資源管理

其他資源

Visual Basic 中的物件導向程式設計

使用元件進行程式設計