| 
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 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
 
  |