DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Form1からForm2へ2つの画像を表示

環境/言語:[XP, VB.NET]
分類:[.NET]

Form1でプログラムを書き、2つの画像をForm2に画像を表示する方法が分かりません。
Form1のボタン1に、
Dim frmform2 As New Form2
frmform2.PictureBox1.Image = Image.FromFile()
frmform2.Show()

Form1のボタン2に、
Dim frmform2 As New Form2
frmform2.PictureBox2.Image = Image.FromFile()
frmform2.Show()
と書くとフォームがどんどん増えてきてしまい、
同じForm2に画像が2つ表示されません。
どうすればよいのか、よければ教えてください。
お願いします。
■No11541に返信(のりおさんの記事)
> Form1でプログラムを書き、2つの画像をForm2に画像を表示する方法が分かりません。
> Form1のボタン1に、
> Dim frmform2 As New Form2
> frmform2.PictureBox1.Image = Image.FromFile()
> frmform2.Show()
>
> Form1のボタン2に、
> Dim frmform2 As New Form2
> frmform2.PictureBox2.Image = Image.FromFile()
> frmform2.Show()
> と書くとフォームがどんどん増えてきてしまい、
> 同じForm2に画像が2つ表示されません。
> どうすればよいのか、よければ教えてください。
> お願いします。
毎回インスタンスを生成しているからですね。
毎回別のものを生成してるのだから、増えていくのはあたりまえです。
frmform2という変数をPrivateなスコープに追い出してあげましょう。

Private _form2 As Form2

Private Button1_Click(以下略
  If _form2 Is Nothing OrElse _form2.IsDisposed Then
    _form2 = New Form2()
  End If

  _form2.PictureBox1.Image = Image.FromFile()
  _form2.Show()
End Sub
詳しく説明していただき、ありがとうございました。
おかげで自分のやりたいことができるようになりました。
また分からないことがあれば、ぜひご指導お願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板