2017-08-04 14 views
0

私は新しいフォームを開くことなく私のメインフォームに別のフォームにあるdatagridviewからコンストラクタを使用してパラメータを渡すことができます。ここに私のコードどのように私は新しいフォームを開くことなく開いているかメインフォームにパラメータを渡すことができます

-----------メインフォームのコンストラクタ----------------------------- -----------

Public Sub New(customerID As Integer, fullName As String, phoneNumber As String, emailID As String) 

    ' This call is required by the designer. 
    InitializeComponent() 

    ' Add any initialization after the InitializeComponent() call. 
    _customerID = customerID 
    _fullName = fullName 
    _phoneNumber = phoneNumber 
    _emailID = emailID 
End Sub 

-----------------------------第2フォーム編集あなたの第二でプロパティを作成することができ、ボタンをクリックする----------------------------

Private Sub btnEdit_Click(sender As Object, e As EventArgs) Handles btnEdit.Click 
    Dim formMain As New frmMain(CInt(Me.dgvCustomerInfo.Item(0, Me.dgvCustomerInfo.SelectedRows(0).Index).Value), 
           Me.dgvCustomerInfo.Item(1, Me.dgvCustomerInfo.SelectedRows(0).Index).Value, 
           Me.dgvCustomerInfo.Item(2, Me.dgvCustomerInfo.SelectedRows(0).Index).Value, 
           Me.dgvCustomerInfo.Item(3, Me.dgvCustomerInfo.SelectedRows(0).Index).Value) 
    Me.Hide() 
    'formMain.Hide() 
    formMain.Show() 

おかげ

+0

あなたはパラメータ – SLaks

+0

ことができますように、既存のフォームを渡す必要がありますあなたはそれをどのように説明しますか? –

+0

新しいfpormを開く場合は、新しいフォームを作成しないでください。メソッドを作成してデータを渡す – Plutonix

答えて

0

フォームは、渡す値のタイプのリストであり、フォームを作成するときは、プロパティへのあなたの値。最後に、この

Public Class Form1 

    Private Sub test() 
     Dim f2 As New form2 
     f2.formparameters = {4, 5, 6, 7} 
     f2.Show() 
    End Sub 
End Class 

そして、あなたの第二形式の書き込みで、このようなもののようform2.Shownイベントにコードを使用してプロパティを処理..

Public Class form2 
    Friend Property formparameters() As Integer() 

    Private Sub form2_Shown(sender As Object, e As EventArgs) Handles Me.Shown 
     'process parameter data here 
     Me.Update() 
    End Sub 
End Class 
関連する問題