| 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! |
| 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 |