Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - evento click su label generica
Forum - C# / VB.NET - evento click su label generica

Avatar
ildany91 (Normal User)
Newbie


Messaggi: 6
Iscritto: 18/04/2016

Segnala al moderatore
Postato alle 14:32
Giovedì, 21/04/2016
buondì, ho una griglia di label 24x24 già inserite in un array bidimensionale , in alcune delle quali è stato messo del testo in maniera random , volevo trovare il modo di gestire l'evento click (che sia valido per ogni label) in modo che una volta cliccato su una label controlla se nella label c'è testo, se si fa un'azione else niente..
la domanda è come posso rendere generico x tutte le label l'evento click..

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:43
Giovedì, 21/04/2016
Utilizza un solo handler del tipo

Codice sorgente - presumibilmente C# / VB.NET

  1. private void LabAllClick(object sender, EventArgs e)
  2.         {
  3.  
  4.         }



e aggiungi nel designer per ogni label, ad esempio per la prima

Codice sorgente - presumibilmente C# / VB.NET

  1. this.label1.Click += new System.EventHandler(this.LabAllClick);



Tutti i click saranno inoltrati allo stesso codice e il parametro sender ti dirà quale è stato l'oggetto su cui hai cliccato


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à.
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 15:00
Venerdì, 22/04/2016
Aggiungo,

Ricorda che l'oggetto sender deve essere convertito o forzato di essere una label.


Codice sorgente - presumibilmente Plain Text

  1. ((Label)sender).Text = "Ciao";



https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
ildany91 (Normal User)
Newbie


Messaggi: 6
Iscritto: 18/04/2016

Segnala al moderatore
Postato alle 1:43
Sabato, 23/04/2016
Grazie mille per la risposta!
P.S. Scusami per non aver specificato il linguaggio... è vb.net!

ho provato ad implementare quanto mi hai scritto, ma senza successo...
non mi riconosce private void,
fra le parentesi garffe cosa dovrei mettere?



ildany91 ha allegato un file: abcd.png (78426 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:11
Sabato, 23/04/2016
lol

un void in una Sub?  :om:

Quello che ti abbiamo scritto è un esempio di codice in C# non in vb.net

basta che vai qui    http://converter.telerik.com/

e converti il codice da C# a vb.net

Abbiamo capito che sei alle prime armi, quindi tranquillo.
devi fare solo attenzione.

Certamente credo che avrai notato per darti errore, significa che non riconosce la sintassi, perché è C# non Vb.net
In secondo luogo un sub non và mai in un'altro sub. va dichiarato esteramente.

Ti consiglierei di darti una bella lettura a questa bella guida

http://www.pierotofy.it/pages/guide/Guida_al_Visual_Basic_ ...

spiega proprio i concetto base e intermedi del vb.net


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
ildany91 (Normal User)
Newbie


Messaggi: 6
Iscritto: 18/04/2016

Segnala al moderatore
Postato alle 13:24
Sabato, 23/04/2016
Grazie Mille per la pazienza, e soprattutto per la guida che mi hai consigliato!!! XD

ho appena convertito il codice! :)

nel pomeriggio provo ad implementarlo e faccio sapere!

PM Quote
Avatar
ildany91 (Normal User)
Newbie


Messaggi: 6
Iscritto: 18/04/2016

Segnala al moderatore
Postato alle 15:42
Sabato, 23/04/2016
non sono riuscito.... mi restituisce 2 errori... :(
allego uno sreenshot





ildany91 ha allegato un file: abcd.png (131749 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
torn24 (Normal User)
Pro


Messaggi: 156
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 16:54
Sabato, 23/04/2016
Vedo dalla tua firma che sottovaluti il grande e possente Google, se fai la domanda giusta la risposta la trovi.

Non conoscendo Vb.net, ma avendo fiducia in Google, ho trovato che in vb.net  associare un metodo ad un evento si fa in modo diverso che in c#, il convertitore di codice provabile faccia una traduzione letterale non sempre valida.

qui il codice e spiegazioni

https://msdn.microsoft.com/it-it/library/7taxzxka.aspx

AddHandler label.click, AddressOf gestoreEvento

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 10:13
Domenica, 24/04/2016
Puoi aggiungere direttamente nel codice del click

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

l'altro button

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click


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à.
PM Quote