Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - galleria immagini
Forum - C# / VB.NET - galleria immagini

Avatar
Epilogo (Normal User)
Newbie


Messaggi: 7
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 8:16
Martedė, 03/06/2008
Questo topic č stato chiuso dal moderatore

Posto qui il mio problema come mi č stato conigliato.
In ogni caso mi riferisco alla programmazzione .net
"Da una PictureBox visualizzo delle immagini che dovrebbero cambiare cliccando su alcuni radiobutton presenti nella stessa form che contine il PictureBox.
Una semplice galleria insomma.
Ho visto da alcuni siti che utilizzano App.Path per andare a prendere le immagini da caricare nel PictureBox dalla stessa cartella dove č salavto il progetto. Questo veniva fatto in VB 6 con il metodo LoadPicture, ma adesso non funziona pių cosė.
Come faccio premendo dei radio button differenti a visualizzare immagini associate in una sola Picture Box? "
Le immagini volendo posso sia metterle in un database, sia in una cartella qualsiasi.

Una volta avrei usato questo codice

Private Sub Option1_Click()
Picture1.Picture = LoadPicture(App.Path & "Merlin.gif")
End Sub

Ma con il .net LoadPicture non funziona.
App.Path contiene l'indirizzo della cartella dove č contenuto il progetto sulla quale si sta lavorando.

PM
Avatar
wolfslair (Normal User)
Rookie


Messaggi: 25
Iscritto: 02/06/2008

Segnala al moderatore
Postato alle 13:10
Martedė, 03/06/2008
Se usi un ImageList per contenere le immagini, ed in base al radiobutton selezionato vai a prendere un indice invece che un altro.

EX:
Codice sorgente - presumibilmente Delphi

  1. If RadioButton2.Checked Then
  2.             PictureBox1.Image = imglst.Images(1)
  3. End If


PM
Avatar
Epilogo (Normal User)
Newbie


Messaggi: 7
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 14:09
Martedė, 03/06/2008
Fin qui ci siamo.
Io non so il metodo per far visualizzare le immagini all'interno della picturebox.
Ok per il ciclo, ma quello che tu hai scritto in delphi io come lo traduco in VB?

ciclo/o scelta
se op=1
allora
visualizza l'immagine (che si trova in una cartella del disco fisso) "merlin.jpg"

io non so inserire via codice un immagine all'interno della picture box

Ultima modifica effettuata da Epilogo il 03/06/2008 alle 14:13
PM
Avatar
wolfslair (Normal User)
Rookie


Messaggi: 25
Iscritto: 02/06/2008

Segnala al moderatore
Postato alle 14:23
Martedė, 03/06/2008
Se il File č nella cartella principale dell'applicazione:
PictureBox1.Image = Image.FromFile(Application.StartupPath & "merlin.gif")

Altrimenti se in un'altra cartella :
dim percorso as string= "c:\immagini\"
PictureBox1.Image = Image.FromFile(percorso & "merlin.gif")

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:00
Martedė, 03/06/2008
Testo quotato

Postato originariamente da Epilogo:
Ok per il ciclo, ma quello che tu hai scritto in delphi io come lo traduco in VB?



Quello č vb.net, non delphi. Non fidarti di quello che dice il code box quando ci sono poche linee di codice.

PM
Avatar
Epilogo (Normal User)
Newbie


Messaggi: 7
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 13:36
Mercoledė, 04/06/2008
Ho provato ma...
Se ne carico solo 1, funziona tutto bene, quindi ora so come caricare le immagini dentro la picture box. Ma non funziona se io passo da un radio button all'altro.

Codice sorgente - presumibilmente VB.NET

  1. Dim percorso As String = "C:\immagini\"
  2.         If RadioButton2.Checked Then
  3.             PictureBox1.Image = Image.FromFile(percorso & "vasca.jpg")
  4.         End If
  5.  
  6.  
  7.         If RadioButton2.Checked Then
  8.             PictureBox1.Image = Image.FromFile(percorso & "inverno.jpg")
  9.         End If



Infatti con questo codice non mi visualizza nessuna delle 2 immagini ma solo quella che c'č impostata come default ancora prima.
Se tolgo gli if invece e tengo solo 1 immagine da visualiizare, la vede e almeno di questo sono contento.
Come mai gli if non funzionano? ho provato anche ad impostare checked su true ma non va...

Ho anche un altra domanda, se metto il file nella cartella dove c'č il progetto e uso Application.StartupPath non me lo trova, non potreste specificarmi meglio in quale esatta cartella devo mettere il file per usare questo metodo?

Ultima modifica effettuata da Epilogo il 04/06/2008 alle 13:39
PM
Avatar
wolfslair (Normal User)
Rookie


Messaggi: 25
Iscritto: 02/06/2008

Segnala al moderatore
Postato alle 14:04
Mercoledė, 04/06/2008
Prova a metterlo cosė:
Codice sorgente - presumibilmente VB.NET

  1. Dim percorso As String
  2.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         percorso = 'il tuo percorso
  4.     End Sub
  5.  
  6.     Private Sub RadioButton1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
  7.         If RadioButton1.Checked = True Then
  8.             PictureBox1.Image = Image.FromFile(percorso & "Arco.jpg")
  9.         End If
  10.     End Sub
  11.  
  12.     Private Sub RadioButton2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
  13.         If RadioButton2.Checked = True Then
  14.             PictureBox1.Image = Image.FromFile(percorso & "Inverno.jpg")
  15.         End If
  16.     End Sub


A Me funziona facendomi vedere inizialmente l'immagine del radiobutton1 e cliccando sul secondo l'immagine associata al secondo controllo.

Per quanto riguarda l'application.StartupPath dovrebbe essere se sei all'interno del IDE un percorso del tipo "nometuaapplicazione\bin\debug\file.exe"

Se invece lo fai generare dall'IDE dovrebbe essere :
"nometuaapplicazione\bin\release\file.exe"

PM
Avatar
Epilogo (Normal User)
Newbie


Messaggi: 7
Iscritto: 01/06/2008

Segnala al moderatore
Postato alle 17:52
Giovedė, 05/06/2008
Grazie mille, la mia galleria adesso funziona! :k:

PM