Si potrebbe fare come segue.
Nel Form principale inserire il seguente codice:
Public Sub Form_Open()
Dim PictureBox1 As PictureBox
With Me
.Center
.Arrangement = Arrange.Fill
End With
With PictureBox1 = New PictureBox(Me)
.Picture = Picture.Load("/percorso/del/file/immagine")
End With
With Form1
.PictureBox1.Picture = PictureBox1.Picture
.Show
End With
End
e in quello secondario (Form1) questo codice:
Public PictureBox1 As PictureBox
Public Sub _new()
PictureBox1 = New PictureBox(Form1)
End
Public Sub Form_Open()
PictureBox1.Move(Form1.PictureBox1.ClientX, Form1.PictureBox1.ClientY, Form1.PictureBox1.Picture.W, Form1.PictureBox1.Picture.H)
End
Ci possono essere anche alti modi:
1) Imposti la proprietà di picturebox1 di form1 a Public = True
2) Dopo aver importato la "foto" nella PicturBox1 di Form2 fai click su un bottonr con il cadice:
form1.PictureBox1.Picture = PictureBox1.Picture
Se non si vuole rendere pubblico il PictureBox del form1 si puo creare, sempre sul form1, un metodo pubblico a cui passare la picture con:
Public Sub myPictureRun(hPicture As Picture)
PictureBox1.Picture = hPicture
End
... un metodo pubblico a cui passare la picture con:
Sì, decisamente migliore.
Avrei dunque modificato i miei codici come segue.
Per il Form principale (FMain):
Public Sub Form_Open()
Dim PictureBox1 As PictureBox
With Me
.Center
.Arrangement = Arrange.Fill
End With
With PictureBox1 = New PictureBox(Me)
.Picture = Picture.Load("/percorso/del/file/immagine")
End With
With Form1
.Show
.PassaPic(PictureBox1.Picture)
End With
End
Mentre per il Form secondario (Form1):
Public Sub PassaPic(pic As Picture)
Dim PictureBox1 As PictureBox
With PictureBox1 = New PictureBox(Form1)
.Picture = pic
.Move(0, 0, pic.W, pic.H)
End With
End