Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2008, 19:33   #1
immakx
Member
 
Iscritto dal: Feb 2005
Città: Ancona
Messaggi: 177
[Vb '08]Array PictureBox

Per prima cosa, dato che è venerdì sera, buon Weekend a tutti,
poi,
la domanda da novizio di Vb.Net è la seguente: devo realizzare una tabella di picturebox ( 5x5 ) ed eseguo:

Codice:
Dim MyBox(25) As PictureBox
Dim Cnt As Integer = 1
Dim Cnv As Integer = 1
For x As Integer = 1 To 25
   MyBox(x) = PictureBox1 ' picturebox di riferimento
   MyBox(x).Image = Image.FromFile(Application.StartupPath & "\Img\n" & x & ".mxp")
   MyBox(x).Left = ((Cnt - 1) * 70) + 12
   MyBox(x).Top = ((Cnv - 1) * 70) + 12
   MyBox(x).Refresh()
   Cnt = Cnt + 1
   If Cnt = 6 Then
     Cnt = 1
     Cnv = Cnv + 1
   End If
Next
Ma vedo che anche se le picturebox vengono generate giuste ognuna va a riscrivere tutti i valori delle precedenti e cosi alla fine mi trovo con tutte le picturebox uguali e sovrapposte all'ultima ...

cosa mi sto dimenticando ?

Su Msdn non sono riuscito a capirlo...

Grazie
immakx è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2008, 21:13   #2
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
Questo codice
Codice:
MyBox(x) = PictureBox1 ' picturebox di riferimento
non crea una nuova PictureBox, ma soltanto una referenza a PictureBox1.
Prova:
Codice:
MyBox(x) = New PictureBox
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2008, 21:56   #3
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
1. Dim MyBox(25) As PictureBox :
Questo array, a meno che tu non l'abbia creato espressamente per un motivo, è superfluo. Ad ogni ciclo aggiungi semplicemente una nuova PictureBox e il risultato non cambia...

2. Manca un esplicito riferimento al contenitore per questi controlli. Male. Io ti consiglio un Panel, che sposti dove vuoi sulla Form... Ne hai solo vantaggi.
Sennò rischi che controlli aggiunti a runtime vadano a sovrapporsi a quelli già presenti sulla Form.

3. Non si eredita MAI chiamando un controllo già presente sulla Form ( il tuo PictureBox1 ). Semplicemente ti fai una classe che eredita da PictureBox e nel costruttore specifichi tutte le proprietà di default che deve avere.

In soldoni :

-> La classe :
Codice:
Public Class MiaPictureBox

    Inherits Windows.Forms.PictureBox

    Public Sub New()

        Me.Width = 160
        Me.Height = 120
        Me.BackColor = Color.Black
        Me.BorderStyle = Windows.Forms.BorderStyle.FixedSingle
        '...
        '... 

    End Sub

End Class
-> Codice corretto ( senza stravolgere il tuo... ) :
Codice:
        Dim MyBox(25) As PictureBox
        Dim Cnt As Integer = 1
        Dim Cnv As Integer = 1
        For x As Integer = 1 To 25
            Dim PctBox As New MiaPictureBox
            MyBox(x) = PctBox            
            MyBox(x).Image = Image.FromFile(Application.StartupPath & "\Img\n" & x & ".mxp")
            Panel1.Controls.Add(MyBox(x))            
            MyBox(x).Left = ((Cnt - 1) * 70) + 12
            MyBox(x).Top = ((Cnv - 1) * 70) + 12
            MyBox(x).Refresh()
            Cnt = Cnt + 1
            If Cnt = 6 Then
                Cnt = 1
                Cnv = Cnv + 1
            End If
        Next

Ultima modifica di MarcoGG : 07-11-2008 alle 21:59.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2008, 09:31   #4
immakx
Member
 
Iscritto dal: Feb 2005
Città: Ancona
Messaggi: 177
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi

In soldoni :
[..]

-> Codice corretto ( senza stravolgere il tuo... ) :
Grazie 1000 !!!
__________________
Max.
AMX - CRESTRON
Junior System Engineer
immakx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Robot aspirapolvere Prime Day: T90 PRO O...
Dall'irrazionalità di pi greco alla fisi...
Zenbook 14 OLED a 999€ invece del portat...
Google punta sul nucleare: accordo vente...
Prime Day Amazon, ecco la lista completa...
Rimodulazioni in arrivo per i clienti Vo...
Ultimo giorno del 15% di sconto Amazon S...
Un ottobre ricco di novità per Ap...
Samsung Galaxy S27 Ultra, i rumor contin...
'Per essere liberi bisogna essere temuti...
Ecco i 4 mini PC migliori del Prime Day ...
6 portatili TOP ancora disponibili con A...
Apple Intelligence occupa troppo spazio?...
GTA 6 in streaming solo su XBOX Cloud Ga...
Mistral Large 4 'Le Chonk', il nuovo mod...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:34.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v