Logo UGIdotNET

Discussione 'Aiuto Visual Basic.Net'

# Pubblicato il 08 mag 2003 9.33 - Rispondi
Luca Pippo
Aiuto Visual Basic.Net
Salve ragazzi,
vi espongo subito il mio quesito che riguarda il passaggio,per me terribile,a Visual Basic.Net.
Ho un form (form1) e due TextBox (txtCampo(0) e txtCampo(1)) facenti parte di una matrice di cui varia solo la proprietà Tag di ciascuna.
Il seguente codice è sempre valido e non necessita di alcuna aggiunta anche aggiungendo sul form un numero di TextBox illimitato ma aventi nome txtCampo e quindi facenti parte della stessa matrice.
Ecco il codice:

Private Sub txtCampo_Click(Index As Integer)
MsgBox "Il campo cliccato è il n° " & txtCampo(Index).Tag
End Sub

Questo accadeva fino Visual Basic 6 ed avendo io sviluppato delle sub adattabili a qualsiasi programmi volevo fare lo stesso con Visual Basic.Net.
Purtroppo ho notato che le matrici non esistono;quindi vi chiedevo se mi davate un consiglio su come sviluppare la sopra indicata Sub txtCampo_Click con Visual Basic.Net.
Potrei utilizzare la seguente:

Private Sub txtCampo0_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCampo0.DoubleClick, txtCampo1.DoubleClick, txtCampo2.DoubleClick

ma non va bene in quanto ogni volta che inserisco una TextBox dovrei modificarne la proprietà Name e dovrei aggiungere txtCampoN.DoubleClick tante volte quante sono le TextBox aggiunte:

Private Sub txtCampo0_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCampo0.DoubleClick, txtCampo1.DoubleClick, txtCampo2.DoubleClick,TXTCAMPO3.DOUBLECLICK,ECC..ECC..


Sicuramente qualcuno di voi ha avuto il mio stesso problema...come lo ha risolto?


Grazie 1000!
# Pubblicato il 21 mag 2003 0.09 - Rispondi
Massimo Martucci
Re: Aiuto Visual Basic.Net

> Private Sub txtCampo_Click(Index As Integer)
> MsgBox "Il campo cliccato è il n° " & txtCampo(Index).Tag
> End Sub
>

ciao, come vedi dall'esempio è molto semplice.
tra l'altro pian piano che vai avanti ti renderai conto di molto vantaggi e della maggior potenza di vb.net


Private Sub TextBox_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.DoubleClick, TextBox2.DoubleClick, TextBox3.DoubleClick, TextBox4.DoubleClick

MessageBox.Show("il campo cliccato è:" + DirectCast(sender, TextBox).Name)

End Sub

come vedi è sufficiente un gestore di evento unico che al termine della firma però contenga i rierimenti a tutte le textbox che vuoi gestire con quella procedura, se aggiungi caselle aggiunge il riferimento.
dopo basta fare un cast di tipo textbox sull'oggetto sender che è un parametro dell'evento notificato, e mostrare quindi la proprietà che ti interessa.

> Grazie 1000!
prego spero sia comprensibile e di aiuto
ciao
max

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185