2つのデータメンバーがSupIDとSupplierNameで1つのコンストラクターを持つクラスSupplierがあり、Form1 load()のときにこのオブジェクトをSupplierのリストに追加します。
Dim lst As New List(Of Supplier)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddList()
End Sub
Public Sub AddList()
lst.Add(New Supplier("Sup1", "Supplier1"))
lst.Add(New Supplier("Sup2", "Supplier2"))
lst.Add(New Supplier("Sup3", "Supplier3"))
lst.Add(New Supplier("Sup4", "Supplier4"))
lst.Add(New Supplier("Sup5", "Supplier5"))
End Sub
次に、[送信]ボタンをクリックしたときに、新しいインスタントコンストラクターによってlstをForm2に送信します。
Private Sub cmdSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSend.Click
Dim frm As New Form2(lst)
frm.Show(Me)
End Sub
次へform2で、次のようにコーディングします。
Dim lst As New List(Of Supplier)
Dim bs As BindingSource
Public Sub New(ByVal lst As New List(Of Supplier)
Me.InitializeComponent()
Me.lst = lst
bs = new BindingSource(lst,nothing)
End Sub
そして、bsからオブジェクトを削除したいと思います。
Public Sub cmdRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRemove.Click
bs.RemoveCurrent()
End Sub
問題は、Form2のbsからオブジェクトを削除すると、Form1のlstのオブジェクトも影響を受けることです。では、Form1のリストに影響を与えたくない場合はどうすればよいですか?
前もって感謝します....