Oppure

Loading
04/05/09 12:13
shpalman62
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
aaa
04/05/09 12:28
ruggy94
Tranquillo, siamo tutti qui per imparare :D
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:
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) :k:
aaa
04/05/09 12:51
shpalman62
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.
aaa
04/05/09 13:43
Il Totem
Handler dinamici:
For Each B As Button In [collezione che contiene i buttons]
  AddHandler B.Click, AddressOf Button_Click
Next
aaa
04/05/09 15:53
shpalman62
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
aaa
04/05/09 16:39
lorenzo
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 :rotfl: ) per poi andare avanti e lo stesso farai tu..bisogna solo sapersi adattare a qualche cambiamento
Ultima modifica effettuata da lorenzo 04/05/09 16:40
aaa
04/05/09 17:04
shpalman62
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à.
aaa
04/05/09 17:17
lorenzo
scusa ma anche vb6 è basato sugli eventi...come ti ha detto totem

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
aaa