
shpalman62 (Normal User)
Newbie
    
Messaggi: 19
Iscritto: 24/04/2009
|
Ciao a Tutti. Ma perchè sono così schiappa.....
Su di un form ho 50 BUTTON. Quando faccio click su di un Button qualsiasi vorrei che il suo BackColor diventasse nero.
Sono sicuro per per voi è un gioco da ragazzi, ma io sto impazzendo. Capivo poco di VB6 ma qualcosa riuscivo comunque a combinare. Ora con VB2008 non capisco più niente.
Grazie a coloro che con pazienza mi aiuteranno. Ciao
|
|

ruggy94 (Member)
Guru
    
Messaggi: 890
Iscritto: 21/04/2008
|
Tranquillo, siamo tutti qui per imparare
Comunque appena capirai i vari meccanismi, il vb.net ti risulterà mooolto più chiaro di vb6. Comunque andiamo al tuo problema. Basta che in un evento Click() aggiungi dop l'Handles gli eventi click degli altri bottoni. Ti faccio un esempio:
Codice sorgente - presumibilmente VB.NET |
Private Sub Clicked(Byval sender as system.object, byval e as system.eventargs) Handles Button1.Click, Button2.Click, Button3.Click 'quellokevuoi End Sub
|
Questo evento si scatena quando si fa click su uno qualsiasi dei bottoni (nell'esempio Button1, Button2 e Button3)
|
|

shpalman62 (Normal User)
Newbie
    
Messaggi: 19
Iscritto: 24/04/2009
|
grazie ruggy94 della rapidità con cui mi hai risposto.
Ma non c'è un sistema più rapido anzichè scriversi tutti i button sulla dichiarazione dell'evento click? (rimpiango le matrici di controlli di vb6).
Anche perchè se avessi un form con 200 button anzichè 50 la cosa diventerebbe ancor più complessa.
Ad esempio non esiste un metodo da inserire all'interno di un ciclo For each button in me.control ecc. ecc.
Grazie 1000 di nuovo.
|
|

Il Totem (Admin)
Guru^2
    
Messaggi: 3635
Iscritto: 24/01/2006
|
Handler dinamici:
Codice sorgente - presumibilmente VB.NET |
For Each B As Button In [collezione che contiene i buttons] AddHandler B.Click, AddressOf Button_Click Next
|
|
|

shpalman62 (Normal User)
Newbie
    
Messaggi: 19
Iscritto: 24/04/2009
|
Grazie 1000 ragazzi per la pazienza ma credo proprio che mi dovrò arrendere.
Nonostante abbia speso qualche centinaia di Euro in libri continuo a non capirci un tubo.
Anzi, più vado avanti e più ho confusione in testa.
Ho continuamente dei retaggi di vb6 col quale mi trovavo benissimo dal quale ho sempre ottenuto quello che volevo facendo discreti programmi, sicuramente "grezzi" ma funzionanti. Purtroppo non riesco ad entrare nel mondo OOP e questo mi rode tantissimo perchè non ci sto facilmente alla resa. Sta cosa oramai non mi fa più dormire la notte e credo che mi debba fermare un pochetto.
Grazie a tutti di nuovo.
ciao
|
|

lorenzo (Normal User)
Guru
    
Messaggi: 1178
Iscritto: 15/04/2008
|
non bisogna arrendersi alle prime difficoltà....spiegaci cosa non capisci e cercheremo di aiutarti, anche se si tratta di cose che non riguardano la programmazione, ad esempio prog ad oggetti come hai scritto tu.
dopotutto qualsiasi programamtore ha iniziato da zero(se esiste qualcuno che ha fatto diversamente vorrei conoscerlo ) per poi andare avanti e lo stesso farai tu..bisogna solo sapersi adattare a qualche cambiamento
Ultima modifica effettuata da lorenzo il 04/05/2009 alle 18:40 |
|

shpalman62 (Normal User)
Newbie
    
Messaggi: 19
Iscritto: 24/04/2009
|
grazie lorenzo. il fatto è che qualche programmino l'ho già compilato con vb 2008 e funziona anche, ma uno dei miei problemi principali è l'assenza in vb 2008 delle matrici di controlli. Vedi il mio primo post dove ho scritto quello che intendevo fare? Bene con vb6, utilizzando le matrici di controlli e qualche altra istruzione, riuscivo ad ottenere quello che ho descritto mentre con vb 2008 è buio pesto. Forse occorrerebbe che qualcuno mi scrivesse di sana pianta il codice per far runzionare quella cosa. Penso che sia l'unica cosa per sbloccarmi altrimenti da solo veramente non ci riesco. E' un mese che ci sto sopra, ma come dicevo, ho sempre più confusione in testa.
Grazie comunque della tua disponibilità.
|
|

lorenzo (Normal User)
Guru
    
Messaggi: 1178
Iscritto: 15/04/2008
|
scusa ma anche vb6 è basato sugli eventi...come ti ha detto totem
Codice sorgente - presumibilmente VB.NET |
For Each B As Button In [collezione che contiene i buttons] AddHandler B.Click, AddressOf Button_Click Next
|
con questo codice associ all'evento Click di ogni bottone l'indirizzo della funzione Button_Click nella quale fara quello che devi....
non è codì difficile da capire e neanche tanto differente da una matrice di controlli.
L'ho usato anche io quando ho dovuto gestire una decina di progress bar. In un primo momento mi sono trovato spiazzato senza le matrici, ma ho cercato su google e ho imparato il nuovo metodo
|
|

ruggy94 (Member)
Guru
    
Messaggi: 890
Iscritto: 21/04/2008
|
comunque se hai bisogno di aiuto di qualsiasi tipo per il vb.net o in generale per la programmazione puoi aggiungermi su msn (quello del profilo)
|
|