Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Ho realizzato questo esempio, perché quando si imparentano le PictureBox gestire le loro coordinate diventa problematico.
Sfogliando l'MSDN e in giro su internet non ho trovato una spiegazione chiara su come procedere per fare in modo che le PictureBox imparentate siano perfettamente sovrapposte, dopo vari deludenti tentativi ho capito la logica che sta dietro le picturebox imparentate, questo listato da esaurienti spiegazioni di come fare e perché.
Non da ultimo a mio parere l'orologio sembra reale.
Ultima modifica effettuata da Carlo il 11/03/2018 alle 19:52
in programmazione tutto è permesso |
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Che vuol dire "PictureBox imparentate" ??
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Mikelius (Member)
Expert
Messaggi: 525
Iscritto: 14/04/2017
|
Consiglio, se il tema ti sembra importante, di scrivere un articolo oltre che un progetto.
|
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Postato originariamente da nessuno:
Che vuol dire "PictureBox imparentate" ?? |
Con l'istruzione PictureBox.parent si possono imparentare a catena varie PictureBox, il risultato è come se fosse che la PictureBox padre contiene le PictureBox figlie.
Finché non mi si è chiarito questo concetto, non capivo perché le coordinate delle varie picturebox facevano quello che facevano.
Per verificare che avevo capito ho scritto questo programma che simula un orologio, sono 3 picturebox traparenti una sopra l'altra che contengono le lancette.
Se le picturebox non sono imparentate la trasparenza non si eredita, e funziona solo tra la BackgroundImage e la Image di una singola picturebox.
in programmazione tutto è permesso |
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Con l'istruzione PictureBox.parent si possono imparentare |
parent è usato col significato di "genitore" e si intende come "container" del figlio.
Finché non mi si è chiarito questo concetto, non capivo perché le coordinate delle varie picturebox facevano quello che facevano. |
Vale per qualsiasi controllo con Windows, con qualunque strumento.
Le coordinate del punto in alto a sinistra di un controllo sono SEMPRE relative a quelle del suo container.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
E' un concetto abbastanza semplice quando da progettazione metti fisicamente dei controlli dentro un altro controllo come contenitore.
Ma se invece stai studiando su come funzionano le trasparenze e l'MSDN ti dice che devi usare parent, senza riassumerti le conseguenze sulle coordinate...
Ho visto che altri in giro per i forum hanno chiesto delucidazioni, su questa problematica, ma non ho trovato qualcuno che abbia dato una risposta esaustiva.
Anzi impera il: "lascia perdere, usa e.graphics e picturedraw"
Comunque l'orologio mi è venuto proprio bene, peccato che non riesco a caricarlo.
Allegato l'errore che appare.
Grazie nessuno sei sempre pronto ad aiutare
Ultima modifica effettuata da Carlo il 11/03/2018 alle 13:37
in programmazione tutto è permesso |
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Postato originariamente da Carlo:
l'MSDN ti dice che devi usare parent, senza riassumerti le conseguenze sulle coordinate... |
Perché la programmazione e l'informatica sono argomenti complessi, che vanno studiati. Non si improvvisa.
Si studia in altri ambiti la relazione tra coordinate di oggetti legati da relazioni padre-figlio.
C'è tanta improvvisazione sul web e chiunque diventa "programmatore" ... il risultato è che la media della preparazione dei frequentatori è molto molto bassa...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Mikelius (Member)
Expert
Messaggi: 525
Iscritto: 14/04/2017
|
Postato originariamente da Carlo:
Allegato l'errore che appare.
|
A me succede quando tento di caricare progetti troppo pesanti |
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Postato originariamente da nessuno:
Perché la programmazione e l'informatica sono argomenti complessi, che vanno studiati. Non si improvvisa.
|
Esatto, ma cercare e provare è un metodo di studio, e mentre si pratica si fanno anche delle domande puerili.
Quando hai capito sbattendoci il muso, poi non lo dimentichi più.
Postato originariamente da nessuno:
C'è tanta improvvisazione sul web e chiunque diventa "programmatore" ... il risultato è che la media della preparazione dei frequentatori è molto molto bassa... |
Sono anni che leggo i post degli improvvisatori, e la maggior parte di esssi non si ritengono "programmatori".
Magari vogliono fare l'ennesima rubrica Whatsapp, contatto, indirizzo, mestiere... Perchè?, gia esistono belle e confezionate!!
La risposta è semplice, è come risolvere un puzzle: da gusto. La maggior parte di loro abbandoneranno, senza ritenersi "programmatori.
Non gli direi mai: "Lascia perdere, non sei preparato"
Postato originariamente da nessuno:
Vale per qualsiasi controllo con Windows, con qualunque strumento.
Le coordinate del punto in alto a sinistra di un controllo sono SEMPRE relative a quelle del suo container. |
se io scrivo:
PictureBox1.Parent = PictureBox2
PictureBox2.Parent = PictureBox3
Ora so qual è la picturebox "contenitore", e che questa è la giusta sequenza per impilare tre controlli grafici trasparenti.
L'ho letto e riletto, nell'MSDN ma non l'ho capito finché non l'ho fatto.
Il programma "Orologio analogico" in 5 righe di codice me lo ricorderà per sempre.
E' un metodo di studio.
in programmazione tutto è permesso |
|