DataGridViewRowAccessibleObject.Name 起始行索引

DataGridViewRow.DataGridViewRowAccessibleObject 发生了影响 Name 属性的修改。 属性中的 Name 行索引现在从 1 开始,而不是默认为 0。

由于此变更,屏幕阅读器将基于起始索引 1 朗读 DataGridView 的选定行。

已引入的版本

.NET 9 预览版 1

以前的行为

以前,Name 属性将行索引基于起始索引 0。 屏幕阅读器基于起始索引 0 朗读 DataGridView 的选定行。

新行为

从 .NET 9 开始,属性的 Name 索引从 1 开始。 屏幕阅读器基于起始索引 1 朗读 DataGridView 的选定行。

更改类别

此更改是 行为变化

更改原因

此修改解决了 GitHub 问题 #7154 中突出显示的辅助功能问题。 此问题与从 0 开始的行计数 DataGridViewRow.DataGridViewRowAccessibleObject 有关,这与用户期望和屏幕阅读器之间存在差异。

此更改可确保依赖于屏幕阅读器和辅助功能工具的用户具有更直观和包容性的体验。 它还为开发人员提供了根据需要保持原始行为的灵活性。

如果应用程序依赖于以前的行为,并且你希望行索引从 0 开始,则可以设置新开关 System.Windows.Forms.DataGridViewUIAStartRowCountAtZero。 若要维护原始功能,请在项目的根文件夹中创建 一个runtimeconfig.template.json 文件,并将此开关设置为 true。 相应地更新代码库以适应此更改,并确保 DataGridViewRow.DataGridViewRowAccessibleObject 显示行索引的起始点为 0。

runtimeconfig.template.json 文件的代码片段,该文件将开关设置为还原到以前的行为:

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

受影响的 API