JavascriptProva

mercoledì 21 agosto 2013

Alcuni tentativi e divagazioni per raggruppare delle TextBoxes in matrici, con tentativi di gestione delle stringhe

Bene.
Ora che ho sistemato la questione della scrittura di dati in un file, devo creare un'interfaccia per scrivere e leggere i dati.
Ammettiamo che il mio "database" rudimentale debba contenere quattro records, pongo quattro TextBoxes sul form, cosicchè il codice legga ciò che ci è scritto e ponga i valori nel file.

Come raggruppare le TextBoxes?

Mi risulta che in VB.NET non si possano fare le matrici di controlli.
Approfondiamo...

Ecco un codice che mi raggruppa in un ArrayList tutte le textboxes (l'ho trovato anche in rete, esattamente come lo avevo concepito io):
    Dim TBoxes As ArrayList

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TBoxes = New ArrayList()
        For Each elemento As Control In Me.Controls
            If TypeOf elemento Is TextBox Then
                TBoxes.Add(elemento)
            End If
        Next
...col risultato che se ci sono altre TextBoxes nel form oltre a quelle quattro che mi interessano succede un casino.
Ci deve essere il modo di raggruppare le textboxes.
Se queste sono in numero predeterminato, allora potrebbe mettersi il nome di tutte le textboxes una per una, però...

Mi viene il dubbio se si possano raggruppare per nome...

Si pone il vecchio problema di convertire il nome di un controllo o di una variabile in una stringa.
Devo ripassare come manipolare una stringa, eventualmente con le novità in VB.NET.

Ecco un modo per identificare i controlli per nome.
Public Class Form1
  

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each elemento In Me.Controls
            Dim nome As String = elemento.name.ToString
            If nome.Substring(0, nome.Length - 1) = "TextBox" Then elemento.text = "fanqulo"
        Next


    End Sub
End Class
In questo modo prendo tutti i controlli il cui nome inizia per "TextBox".
Non è perfetto in quanto se ci sono più di 10 textboxes il numero ha due cifre.
Devo trovare il modo di sistemare meglio la cosa.

Nessun commento:

Posta un commento