簡単修正:あなたは直接Form1
上のコントロールにアクセスすることができますからForm2
あなたはForm1
にDataGridView1
を持っているのであれば、Form2
コードで、あなたはForm1.DataGridView1
注意を使用してアクセスできます。これは、あなたがしっかりとあなたの2つの形式が結合されているので、あなたが参照を渡す方が良いだろう、良いデザインではありませんForm2の中のDataGridViewに直接ではなく
それを更新するのForm2のコンストラクタで、あなたの参照を渡すためにそれを強制:
Public Class Form2
Private _dgv As DataGridView
Public Sub New(dgv As DataGridView)
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
'ensure we have a value object
If dgv Is Nothing Then Throw New ArgumentNullException("DataGridView")
_dgv = dgv
End Sub
Private Sub frmRibbonTest_Resize(sender As Object, e As EventArgs) Handles Me.Resize
Dim rect = RibbonControl1.ClientRectangle
DataGridView1.Location = New Point(rect.X, rect.Y)
DataGridView1.Height = rect.Height
DataGridView1.Width = rect.Width
End Sub
End Class
あなたはForm1のからのForm2を作成するときに、このようなあなたの参照を使用します。
Dim f2 = New Form2(Me.DataGridView1)
f2.Show()
フォームにメソッドを追加すると、FormAはFormBに独自の*コントロールを設定するよう指示できます。 – Plutonix
'module'を試してみませんか? – hrishikesh