Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB 2008] catturare evento click su collezione di BUTTON
Forum - C# / VB.NET - [VB 2008] catturare evento click su collezione di BUTTON

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
shpalman62 (Normal User)
Newbie


Messaggi: 19
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 14:13
Lunedì, 04/05/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

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 14:28
Lunedì, 04/05/2009
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:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Clicked(Byval sender as system.object, byval e as system.eventargs) Handles Button1.Click, Button2.Click, Button3.Click
  2. 'quellokevuoi
  3. End Sub


Questo evento si scatena quando si fa click su uno qualsiasi dei bottoni (nell'esempio Button1, Button2 e Button3) :k:

PM Quote
Avatar
shpalman62 (Normal User)
Newbie


Messaggi: 19
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 14:51
Lunedì, 04/05/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.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:43
Lunedì, 04/05/2009
Handler dinamici:
Codice sorgente - presumibilmente VB.NET

  1. For Each B As Button In [collezione che contiene i buttons]
  2.   AddHandler B.Click, AddressOf Button_Click
  3. Next


PM Quote
Avatar
shpalman62 (Normal User)
Newbie


Messaggi: 19
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 17:53
Lunedì, 04/05/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

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 18:39
Lunedì, 04/05/2009
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 il 04/05/2009 alle 18:40
PM Quote
Avatar
shpalman62 (Normal User)
Newbie


Messaggi: 19
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 19:04
Lunedì, 04/05/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à.

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 19:17
Lunedì, 04/05/2009
scusa ma anche vb6 è basato sugli eventi...come ti ha detto totem

Codice sorgente - presumibilmente VB.NET

  1. For Each B As Button In [collezione che contiene i buttons]
  2.   AddHandler B.Click, AddressOf Button_Click
  3. 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

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 20:34
Lunedì, 04/05/2009
:ot: 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)

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo