Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Come lavorare si più oggetti Label (o altro) usando cicli For... Next

    Salve

    Mi sto divertendo con VB.net anche essendo inesperto. Però sto riempiendo il mio form di pultantini label ecc.. tutti con un nome un evento associato ecc...
    Le righe di codice però diventano così ingombranti a morire

    Come faccio ad alleggerire tutto con dei cicli For ?

    Esempio, ho 5 oggetti Label: txtLabel1, txtLabel2, txtLabel3, txtLabel4, txtLabel5

    Se gli voglio cambiare testo faccio:

    txtLabel1.Text = "Testo Inserito 1"
    txtLabel2.Text = "Testo Inserito 2"
    ecc...


    ma diventano tante righe

    Come faccio a fare lo stesso usando un ciclo For?

    For i = 1 To 5
    CosaScrivoQui?.Text = "Testo inserito " & i
    Next

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da ArgonautaWEB Visualizza il messaggio
    Salve

    Mi sto divertendo con VB.net anche essendo inesperto. Però sto riempiendo il mio form di pultantini label ecc.. tutti con un nome un evento associato ecc...
    Le righe di codice però diventano così ingombranti a morire

    Come faccio ad alleggerire tutto con dei cicli For ?

    Esempio, ho 5 oggetti Label: txtLabel1, txtLabel2, txtLabel3, txtLabel4, txtLabel5

    Se gli voglio cambiare testo faccio:

    txtLabel1.Text = "Testo Inserito 1"
    txtLabel2.Text = "Testo Inserito 2"
    ecc...


    ma diventano tante righe

    Come faccio a fare lo stesso usando un ciclo For?

    For i = 1 To 5
    CosaScrivoQui?.Text = "Testo inserito " & i
    Next
    Guarda questo esempio:
    codice:
    For myTempCount = 1 To 6
        If Controls.ContainsKey("ComboBox" & myTempCount) Then
            CType(Controls("ComboBox" & myTempCount), ComboBox).SelectedIndex = tempValue
        End If Next
    http://stackoverflow.com/questions/1...e-for-the-name

  3. #3
    No. Non va.

    Cmq seguendo il tuo link ho visto il penultimo commento (di Wingman4l7) .... Credo di aver capito che non esiste il comando e che lui si è dovuto creare quella funzione "getControl"

    Possibile che sia così complicato richiamare gli oggetti?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da ArgonautaWEB Visualizza il messaggio
    No. Non va.

    Cmq seguendo il tuo link ho visto il penultimo commento (di Wingman4l7) .... Credo di aver capito che non esiste il comando e che lui si è dovuto creare quella funzione "getControl"

    Possibile che sia così complicato richiamare gli oggetti?
    Non va non vuol dire niente.
    In cosa "non va"?
    Che errori ti da?
    In ogni caso il procedimento è semplice: controls è l'insieme di tutti i controlli contenuti nel form. Li puoi recuperare con un index o per nome. Una volta recuperato quello che vuoi tu, devi fare il cast, cioè convertirlo da controllo a label. fatto ciò hai il riferimento alla label che ti interessa..

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Tu credi, ma hai capito tutt'altro, perché quel codice fa... tutt'altro.
    Quando ti viene dato un suggerimento devi studiarti il codice per capire come funziona perché raramente il codice che si trova fa esattamente quello che ci serve, quindi l'importante è capirlo e poi adattarlo.

    In questo caso (il tuo), bastava capire che l'istruzione:

    Me.Controls("Label1")

    ti permette di accedere alle proprietà di un controllo con nome Label1, tramite il rispettivo nome.
    Una volta compreso questo, diventa facile adattarlo:

    codice:
            For i As Integer = 1 To 5
                Me.Controls("Label" & i).Text = "Testo inserito " & i
            Next

  6. #6
    Ah scusa... mi son dimenticati di ringraziare
    Ero arrivato poi a quella soluzione. In un videotutorial didattico il tizio consigliava di aprire (per leggere solo)
    il file Progetto.Designer.vb , per capire da quel codice come gestire bottoni e il resto :P

    Grazie 1000

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.