Condividi tramite


Indice di riga iniziale DataGridViewRowAccessibleObject.Name

DataGridViewRow.DataGridViewRowAccessibleObject ha subito una modifica che influisce sulla proprietà Name. L'indice di riga nella proprietà Name ora inizia a 1 anziché a 0 per impostazione predefinita.

In seguito a questa modifica, le utilità per la lettura dello schermo annunciano la riga selezionata di un DataGridView in base a un indice iniziale di 1.

Versione di introduzione

.NET 9 Anteprima 1

Comportamento precedente

In precedenza, la proprietà Name basava l'indice di riga su un indice iniziale pari a 0. Le utilità per la lettura dello schermo annunciavano la riga selezionata di un DataGridView in base a un indice iniziale pari a 0.

Nuovo comportamento

A partire da .NET 9, l'indice della proprietà Name inizia da 1. Le utilità per la lettura dello schermo annunciano la riga selezionata di un DataGridView in base a un indice iniziale pari a 1.

Categoria di modifiche

Questa è una modifica funzionale.

Motivo della modifica

Questa modifica risolve un problema di accessibilità evidenziato nel problema GitHub 7154. Il problema riguarda il conteggio delle righe di DataGridViewRow.DataGridViewRowAccessibleObject a partire da 0, il che crea una discrepanza con le aspettative dell'utente e le utilità per la lettura dello schermo.

La modifica garantisce un'esperienza più intuitiva e inclusiva per gli utenti che si basano sulle utilità per la lettura dello schermo e sugli strumenti di accessibilità. Offre inoltre agli sviluppatori la flessibilità necessaria per mantenere il comportamento originale, se necessario.

Se la tua applicazione si basa sul comportamento precedente e preferisci che l'indice di riga inizi a 0, puoi impostare la nuova opzione System.Windows.Forms.DataGridViewUIAStartRowCountAtZero. Per mantenere la funzionalità originale, crea un file runtimeconfig.template.json nella cartella radice del progetto e imposta questa opzione su true. Aggiorna di conseguenza la codebase secondo questa modifica e assicurati che DataGridViewRow.DataGridViewRowAccessibleObject mostri l'indice di riga con un punto iniziale a 0.

Frammento di un file runtimeconfig.template.json che imposta un'opzione per ripristinare il comportamento precedente:

{
    "configProperties": {
      "System.Windows.Forms.DataGridViewUIAStartRowCountAtZero": true
    }
}

API interessate