Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    [vb.net] Doppia combo con errore strano??

    Ho una combo chiamata ambAggregati in una form chiamata DoppiaCombo, nell'evento Form_Load aggiungo due items:
    codice:
     
    Private Sub DoppiaCombo_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    	Dim i As Integer
            cmbAggregati.Items.Add("Agg_1")
            cmbAggregati.Items.Add("Agg_2")
    End Sub
    Poi ho una seconda combo, chiamata cmbEdif, che riempio associandogli come DataSource un arrayList dichiarato globalmente, quando scatta l'evento cmbAggregati_SelectedIndexChanged:
    codice:
    Dim arrEdifici As New ArrayList
    
    Private Sub cmbAggregati_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbAggregati.SelectedIndexChanged
            Dim i As Integer
            If cmbAggregati.SelectedIndex <> -1 Then
                If cmbAggregati.SelectedIndex = 0 Then
                    arrEdifici.Clear()
                    cmbEdif.DataSource = Nothing
                    cmbEdif.Items.Clear()
                    cmbEdif.Refresh()
    
                    For i = 0 To 4
                        arrEdifici.Add("Edificio_" & (i + 1))
                    Next
    
                    cmbEdif.DataSource = arrEdifici
                    cmbEdif.DisplayMember = "ItemCombo"
    
                    cmbEdif.SelectedIndex = -1
                End If
    
                If cmbAggregati.SelectedIndex = 1 Then
                    arrEdifici.Clear()
                    cmbEdif.DataSource = Nothing
                    cmbEdif.Items.Clear()
                    cmbEdif.Refresh()
    
                    For i = 0 To 2
                        arrEdifici.Add("Edifi_" & (i + 1))
                    Next
    
                    cmbEdif.DataSource = arrEdifici
                    cmbEdif.DisplayMember = "ItemCombo"
    
                    cmbEdif.SelectedIndex = -1
                End If
            End If
    End Sub
    Come si nota dal codice se ho selezionato il primo valore della cmbAggregati, l'arrEdifici assume dei valori, altrimenti altri.

    Poi nell'evento cmbEdif_SelectedIndexChanged mi faccio stampare il valore selezionato della cmbEdif:
    codice:
    Private Sub cmbEdif_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbEdif.SelectedIndexChanged
            If cmbEdif.SelectedIndex <> -1 Then
                MsgBox(cmbEdif.Items(cmbEdif.SelectedIndex).ToString)
            End If
    End Sub
    Il problema è questo che quando nella cmbAggregati seleziono il primo valore e poi nella cmbEdifici seleziono l'items con valore edificio_4 o edificio_5 e dopo seleziono dalla cmbAggregati il secondo valore e nella cmbEdif seleziono uno dei tre valori, succede che mi fa la msgbox correttamente, ma quando esce dalla sub cmbEdif_SelectedIndexChanged mi da errore sul form dicendomi ArgumentOutOfRangeException. AIUTO!!!!
    Ciao By Peter_Pan...

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Non sono sicuro che l'errore venga segnalato nel contesto dell'evento in cui - apparentemente - si verifica.

    Hai provato ad eseguire il programma passo per passo?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    si è questo il problema seguendolo passo passo, funziona, ho messo anche diversi try Catch per vedere se potessi capire qualche cosa di più ma niente, fatta l'ultima sub che sarebbe la cmbEdif_SelectedIndexChanged, mi da la msgbox, esce dalla sub e poi va in errore
    Ciao By Peter_Pan...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    Combo collegate

    Ho provato questo codice anche in una window application, mentre quello postato sopra era per il compact framework, mi da sempre errore ma si capisce un po di più, vi posto l'immagine dell'errore, magari qualcuno ci capisce qualche cosa.

    Navigando in rete ho capito che quello che voglio realizzare io è come quello che si trova in moltissimi programmi, cioè le combo di provincia e comune, scelgo la provincia e la combo dei comuni mi si popola solo con quei comuni che rientrano in quella provincia, qualcuno ha esempi simili????
    Immagini allegate Immagini allegate
    Ciao By Peter_Pan...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    Errore, volevo rispondere al mio post precedente ed ho sbagliato tasto.. Sorry...
    Ciao By Peter_Pan...

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.