Autore Topic: Contenuto picture da un form ad un' altro  (Letto 405 volte)

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Contenuto picture da un form ad un' altro
« il: 10 Maggio 2023, 16:57:20 »
Salvbe, ho 2 form chiamati
Form1
Form2

Sia nel form1 che nel form 2 ho inserito una picturebox

Nella picturebox.picture ho messo una foto, quando passo al form2 come faccio che il contenuto della picturebox1 del form 2 passa alla picturebox1.picture del form1 ?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Contenuto picture da un form ad un altro
« Risposta #1 il: 10 Maggio 2023, 23:52:35 »
Si potrebbe fare come segue.

Nel Form principale inserire il seguente codice:
Codice: [Seleziona]
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:
Codice: [Seleziona]
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
« Ultima modifica: 11 Maggio 2023, 15:29:50 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Contenuto picture da un form ad un' altro
« Risposta #2 il: 11 Maggio 2023, 12:05:06 »
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:
Codice: [Seleziona]
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:
Codice: [Seleziona]
Public Sub myPictureRun(hPicture As Picture)
 
  PictureBox1.Picture = hPicture
 
End

nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Contenuto picture da un form ad un altro
« Risposta #3 il: 11 Maggio 2023, 15:45:51 »
... 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):
Codice: [Seleziona]
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):
Codice: [Seleziona]
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
« Ultima modifica: 22 Maggio 2023, 18:28:07 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »