Lettura del font in DGV

di il
4 risposte

Lettura del font in DGV

Buongiorno a tutti voi.
Ho un DGV. Il multi select è false.
Ho programmato in modo che -cliccando su una riga- la dimensione del carattere aumenti di una unità e style diventi bold.
E' evidente che -prima di modificare la riga corrente- devo riportare tutte le righe del DGV al font originale per non avere più righe in grassetto.
Ho scritto  il seguente codice :  

OriginalFont = DGV.DefaultCellStyle.Font : per memorizzare il font di default della riga

   Private Sub DGV_Click(sender As Object, e As EventArgs) Handles DGV.Click
        'riporto tutte le righe al font originale
       For Each riga As DataGridViewRow In DGV.Rows
           riga.DefaultCellStyle.Font = OriginalFont
       Next
        'cambio il font della riga cliccata
       Dim newFont As New Font(OriginalFont.FontFamily, OriginalFont.Size + 1, OriginalFont.Style.Bold)
       DGV.CurrentRow.DefaultCellStyle.Font = newFont
   End Sub


Ora, per evitare di dover scorrere tutte le righe del DGV per riportarle al font originale, ho scritto questo codice per uscire dal ciclo subito dopo aver modificato la precedente riga selezionata :

       For Each riga As DataGridViewRow In DGV.Rows
           If riga.DefaultCellStyle.Font.Style.Bold Then
               riga.DefaultCellStyle.Font = OriginalFont
               Exit For
           End If
       Next
Non funziona, assolutamente!
Qualche idea?

4 Risposte

  • Re: Lettura del font in DGV

    Non ho capito.

    Quando selezioni la riga perché non ne memorizzi un riferimento per poi rimettere il suo font a posto e solo quello?

  • Re: Lettura del font in DGV

    21/03/2024 - oregon ha scritto:


    Non ho capito.

    Quando selezioni la riga perché non ne memorizzi un riferimento per poi rimettere il suo font a posto e solo quello?

    Oregon, non fa una piega! memorizzo il numero della riga cliccata e poi uso quel numero per ripristinare il valore di default del font al successivo click.

    Grazie, risolutore!

  • Re: Lettura del font in DGV

    [RISOLTO] Oregon.

        Private Sub DGV_Click(sender As Object, e As EventArgs) Handles DGV.Click
           DGV.Rows(nriga).DefaultCellStyle.Font = OriginalFont
           nriga = DGV.CurrentRow.Index
           Dim newFont As New Font(OriginalFont.FontFamily, OriginalFont.Size + 1, OriginalFont.Style.Bold)
           DGV.CurrentRow.DefaultCellStyle.Font = newFont
       End Sub
  • Re: Lettura del font in DGV

    Ottimo, come vedi con un minimo di ragionamento…

Devi accedere o registrarti per scrivere nel forum
4 risposte