Visualizzazione dei risultati da 1 a 10 su 27

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di e444
    Registrato dal
    Jan 2012
    Messaggi
    37
    Quote Originariamente inviata da eziogsv Visualizza il messaggio
    Ok, ora si capisce qualcosa di più... permettimi iniziando con alcuni errori "di concetto":

    codice:
    PublicSubCBSala1Posto1_SelectedIndexChanged(sender AsObject, e AsSystem.EventArgs)HandlesCBSala1Posto1.SelectedIndexChanged
           
           'se è selezionato l'item 0, la label sarà rinominata con il t1 che corrisponde a "3600".
            If CBSala1Posto1.SelectedIndex="0"Then
                LBTimerS1P1.Text= t1
            ElseIf CBSala1Posto1.SelectedIndex="1"Then
               'se è selezionato l'item 1, la label sarà rinominata con il t2 che corrisponde a "7200".                           LBTimerS1P1.Text= t2
           ...............
           ..............

    Se non usi ElseIf ti rileggi anche tutti gli If che non ti servono.
    Ti rispondo passo passo...

    Si... avrei potuto usare l'ElseIf... ma, se ci pensi, potrei fare ancor meglio a convertirlo con un Select Case... e molto probabilmente farò così...
    codice:
    Public Sub CBSala1Posto1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles CBSala1Posto1.SelectedIndexChanged
    
            Select Case CBSala1Posto1.SelectedIndex
                Case 0
                    LBTimerS1P1.Text = t1
                Case 1
                    LBTimerS1P1.Text = t2
                Case 2
                    LBTimerS1P1.Text = t3
                Case 3
                    LBTimerS1P1.Text = t4
            End Select
    
    
        End Sub
    Forse è ancora meglio... o sbaglio?...

  2. #2
    Quote Originariamente inviata da e444 Visualizza il messaggio
    Ti rispondo passo passo...

    Si... avrei potuto usare l'ElseIf... ma, se ci pensi, potrei fare ancor meglio a convertirlo con un Select Case... e molto probabilmente farò così...
    [CUT]

    Forse è ancora meglio... o sbaglio?...
    Personalmente se possibile preferisco il SELECT al ELSEIF.... ma è una questione "estetica" di pulizia del codice: se fai reverse engineering del codice compilato vedi che il SELECT viene comunque "trasformato" dal compilatore in una serie di If... ElseIf...

    Riguardo al codice:
    codice:
            Select Case CBSala1Posto1.SelectedIndex
                Case 0
                    LBTimerS1P1.Text = t1
                Case 1
                    LBTimerS1P1.Text = t2
                Case 2
                    LBTimerS1P1.Text = t3
                Case 3
                    LBTimerS1P1.Text = t4
            End Select
    personalmente, onde evitare di creare 35.600 variabili, userei la variabile "Durata" che vedo che hai dichiarato (Dim Durata as Integer = 3600).

    codice:
            Select Case CBSala1Posto1.SelectedIndex
                Case 0
                    LBTimerS1P1.Text = Durata
                Case 1
                    LBTimerS1P1.Text = Durata * 2
                Case 2
                    LBTimerS1P1.Text = Durata * 3
                Case 3
                    LBTimerS1P1.Text = Durata * 4
            End Select
    che mi pare più pulito e meglio leggibile in futuro

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.