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

    [VB.NET] Errore InvalidCastException in lettura Item di una ComboBox

    Ciao a tutti, sono una studentessa delle superiori e ho alcune difficoltà su un esercizio su una combobox e vi scrivo per capire dove sbaglio.
    L'esercizio consiste nel calcolare un preventivo inserendo in una textbox la lunghezza della ringhiera, selezionare il materiale in tre radiobutton e in una combobox il tipo di verniciatura.
    Il codice mi da il seguente errore nella combobox:
    errore1.jpg

    Vi allego la parte iniziale del codice
    codice:
     Dim l As Integer
    
     l = TB_lunghezza.Text
    
    
     Dim materiale, vernice As Double
     Dim ris As String
    
    
     ris = ""
     RB_alluminio.Checked = False
     RB_ferro.Checked = False
     RB_pvc.Checked = False
    
    
    
    
     If RB_ferro.Checked = True Then
         materiale = 15 * l
         ris &= " materiale: ferro" & vbCrLf
     ElseIf RB_alluminio.Checked = True Then
         materiale = 22.5 * l
         ris &= "materiale: alluminio" & vbCrLf
     Else RB_pvc.Checked = True
         materiale = 17.99 * l
         ris &= "materiale: PVC" & vbCrLf
     End If
    
    
    
    
     If CB_verniciatura.Items("Semplice").checked = True Then
         vernice = l * 2.5
         ris &= " verniciatura: semplice" & vbCrLf
     ElseIf CB_verniciatura.Items("Metallizzata").checked = True Then
         vernice = l * 3.99
         ris &= " verniciatura: metallizzata" & vbCrLf
     Else
         vernice = 0
         ris &= " verniciatura: nessuna" & vbCrLf
     End If
    Grazie per l'aiuto, a presto

  2. #2
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,702
    ... è abbastanza evidente, se ti legge il Prof ti fa nera
    come fai ad assegnare del testo ad una variabile Integer?
    VB tenta il casting che ovviamente non riesce
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  3. #3
    Grazie, effettivamente ho fatto una prova, ho sostituito le tre parole con i valori numerici 0 1 e 2 e il programma funziona, ma ho bisogno che ci sia un testo nella combobox e non dei numeri. Come posso risolvere il problema?
    Ti ringrazio per la pazienza, ma come avrai capito, sono ancora alle prime armi

  4. #4
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,702
    Ho letto il codice, vado a memoria, CB_verniciature.Items() restituisce il valore by index
    Quindi devi usare un valore numerico che rappresenta l'indice del valore nell'oggetto
    Prova con:
    codice:
    If CB_verniciatura.SelectedItem.ToString="Semplice" Then
    
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  5. #5
    provo domani che sta sera sono un po'stanca, grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.