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

    [VB.net2005] Passare Valore da ListBox a Label

    Sto creando un controllo che all'evento mouseclick dalla listbox...
    mi scriva nella label il valore selezionato...

    quando passo un valore è tutto ok...

    ed uso :
    codice:
    Private Sub lstData_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lstData.MouseClick
    dim i as integer 
     If lstData.SelectedIndex >= 0 Then
    
                    For indice = 0 To lstData.SelectedItems.Count - 1
    
                        lblDataRange.Text = lstData.SelectedItems.Item(indice)
    
                    Next
    End If
    End Sub
    quando clicco quindi su un item della list box
    lbl.text = mi visualizza il valore appena selezionato...

    come si fa se
    lstData.SelectionMode = SelectionMode.MultiSimple

    ??
    cioè se io posso selezionare dalla listbox più di un valore...
    come posso mantenere il primo valore sulla label e aggiungere il secondo valore
    selezionato magari su un'altra label??

    grazie

  2. #2
    For indice = 0 To lstData.SelectedItems.Count - 1

    lblDataRange.Text = lstData.SelectedItems.Item(indice)

    Next
    -----------------

    Con questo ciclo scorri tutti gli item selezionati... quindi prova cosi':

    crea una matrice di label... lblDataRange(0 to 10) as label

    For indice = 0 To lstData.SelectedItems.Count - 1

    lblDataRange(indice).Text = lstData.SelectedItems.Item(indice)

    Next

    e vedrai un testo su ogni label...

    Penso sia questo che ti serve...
    Se cercate un software visitate il sito della mia software house
    Hobby Vitual: il nuovo sito per tutti i collezionisti!

  3. #3
    provo subito...
    grazie

  4. #4
    Dim indice As Integer
    'If rdbOne.Checked = True Then
    Dim lblDataRange(0 To 10) As Label
    If lstData.SelectedIndex >= 0 Then

    For indice = 0 To lstData.SelectedItems.Count - 1


    lblDataRange(indice).Text = lstData.SelectedItems.Item(indice)

    Next
    End If

    questo codice sta dentro l'evento click mousclick... della listBox...

    mi dà errore in debug :
    Riferimento a un oggetto non impostato su un'istanza di oggetto.

  5. #5
    Originariamente inviato da ferrate
    Dim indice As Integer
    'If rdbOne.Checked = True Then
    Dim lblDataRange(0 To 10) As Label
    If lstData.SelectedIndex >= 0 Then

    For indice = 0 To lstData.SelectedItems.Count - 1


    lblDataRange(indice).Text = lstData.SelectedItems.Item(indice)

    Next
    End If

    questo codice sta dentro l'evento click mousclick... della listBox...

    mi dà errore in debug :
    Riferimento a un oggetto non impostato su un'istanza di oggetto.
    Soluzione 1.

    Non e' che forse hai selezionato piu' di 10 elementi...
    Prova ad aumentare le label:

    ----------------
    Dim lblDataRange(0 To 1000) As Label
    ----------------

    forse e' questo il problema...

    ****************

    Soluzione 2.

    oppure non hai istanziato l'oggetto label

    For indice = 0 To lstData.SelectedItems.Count - 1

    lblDataRange(indice) = new label
    lblDataRange(indice).Text = lstData.SelectedItems.Item(indice)

    Next


    Provale entrambe, penso sara' una di queste...
    Se cercate un software visitate il sito della mia software house
    Hobby Vitual: il nuovo sito per tutti i collezionisti!

  6. #6
    codice:
    Dim indice As Integer
            
    
            Dim lblDataRange(0 To 100) As Label
    
            If lstData.SelectedIndex >= 0 Then
    
                For indice = 0 To lstData.SelectedItems.Count - 1
    
    
                    lblDataRange(indice) = New Label
    
                    lblDataRange(indice).Text = lstData.SelectedItems.Item(indice)
    
                Next
            End If
    Non mi dà più errore... però non mi scrive nulla nella label....
    tieni presente poi che i valori che andrò ad inserire potranno essere al massimo una decina...


  7. #7
    Sicuro che non ti scrive nulla?
    Guarda che non basta dare il text... devi anche posizionarla nel form...
    Per renderti la cosa piu' semplice...

    Dim indice As Integer


    Dim lblDataRange(0 To 100) As Label

    If lstData.SelectedIndex >= 0 Then

    For indice = 0 To lstData.SelectedItems.Count - 1


    lblDataRange(indice) = New Label

    lblDataRange(indice).Text = lstData.SelectedItems.Item(indice)

    ------------------------------------------
    lblDataRange(indice).top=100+indice*30
    lblDataRange(indice).left=50
    me.controls.add(lblDataRange(indice))
    ------------------------------------------

    Next
    End If


    Prova ora... e sono sicuro che e' tutto ok... forse devi leggerti un manuale di .net...
    Dai una guardata tra i post e sicuramente troverai dei buoni cosigli su cosa studiarti...
    Se cercate un software visitate il sito della mia software house
    Hobby Vitual: il nuovo sito per tutti i collezionisti!

  8. #8
    più che un manuale.. ho bisogno di mooolta pratica...
    sono alle prime armi con il codice...vengo da un altro tipo di programmazione...
    è un po' duretta all' inizio...
    cmq ho già un manuale.net... e ho comprato anche il nuovo microsoft press di balena...


    cmq grazie... ora provo il tuo codice...

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.