- 日時: 2007/09/17 21:50
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[リストビュー][フォーム][] * * キーワード:フォーム間,Form1 〜 Form2,データの受け渡し,,, * ***********************************************************************************
元質問:リストビューの内容をコピーするには - VB小僧 2007/04/19-08:51 No.5365
2つのフォーム(Form1,Form2)があり、それぞれにリストビューを配置しています。 Form1から呼び出したForm2内で表示しているリストビューの内容をForm2が閉じた際に、 Form1のリストビューへ反映したいと思っています。
----------------------------------------------------------------------------------- Re: リストビューの内容をコピー.. - 魔界の仮面弁士 2007/04/19-10:17 No.5366 -----------------------------------------------------------------------------------
環境が書かれていないので、現行バージョンである VB2005 と仮定して回答します。
> Form1から呼び出したForm2内で表示しているリストビューの内容をForm2が閉じた際に、 > Form1のリストビューへ反映したいと思っています。
こういうイメージで良いのかな。
'==== 呼び出し側 (Form1) ==== Private WithEvents form2 As Form2 = Nothing
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click If form2 Is Nothing OrElse form2.IsDisposed Then form2 = New Form2() form2.Show(Me) End If End Sub
Private Sub form2_FeedbackListViewItems(ByVal items() As _ ListViewItem) Handles form2.FeedbackListViewItems ListView1.Items.Clear() ListView1.Items.AddRange(items) End Sub
'==== 呼ばれる側 (Form2) ==== Public Event FeedbackListViewItems(ByVal items() As ListViewItem)
Private Sub Form2_FormClosing(ByVal sender As Object, _ ByVal e As FormClosingEventArgs) Handles MyBase.FormClosing With New List(Of ListViewItem) For Each item As ListViewItem In ListView1.Items .Add(DirectCast(item.Clone(), ListViewItem)) 'データを複製 Next RaiseEvent FeedbackListViewItems(.ToArray()) End With End Sub
|