Annullare un evento.

di il
3 risposte

Annullare un evento.

Buongiorno a tutta la comunità.

Ancora una volta ho bisogno del vostro aiuto.

Ho questo codice :


   Private Sub familyCrt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles familyCrt.SelectedIndexChanged
       Dim font_attuale As Font = rtb.SelectionFont
       rtb.SelectionFont = New Font(familyCrt.SelectedItem.ToString, font_attuale.Size, font_attuale.Style)
   End Sub
   Private Sub sizeCrt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles sizeCrt.SelectedIndexChanged
       Dim font_attuale As Font = rtb.SelectionFont
       rtb.SelectionFont = New Font(font_attuale.FontFamily, sizeCrt.SelectedItem, font_attuale.Style)
   End Sub
   Private Sub rtb_SelectionChanged(sender As Object, e As EventArgs) Handles rtb.SelectionChanged
       Dim Famiglia = rtb.SelectionFont.FontFamily
       Dim Dimensione As Double = rtb.SelectionFont.Size
       familyCrt.SelectedItem = Famiglia.Name
       Dim index = sizeCrt.FindString(Dimensione)
       sizeCrt.SelectedIndex = index
   End Sub

Il mio problema è che quando è attivo l'evento SelectionChanged, si avvia anche l'evento sizeCrt.SelectedIndexChanged, causando un errore perche il font è 0 (zero).

Ora, esiste un sistema per non fare eseguire l'evento sizeCrt.SelectedIndexChangedi?

Grazie mille.  

3 Risposte

  • Re: Annullare un evento.

    30/05/2024 - Jan ha scritto:


    Ora, esiste un sistema per non fare eseguire l'evento sizeCrt.SelectedIndexChangedi?

    Invece di prevenire l'evento, perché non controlli la condizione che provoca l'errore prima di eseguire l'istruzione che poi lo solleva?

  • Re: Annullare un evento.

    Non si “annullano” gli eventi, non ha senso.

    Controlla con una if che il font sia valido prima di assegnarlo.

    Opps non avevo visto Alka…

  • Re: Annullare un evento.

    Alka,Oregon : GRAZIE.

    Ho risolto. Per una soluzione così “elementare” non avrei dovuto scrivere, ma riflettere!!!

Devi accedere o registrarti per scrivere nel forum
3 risposte