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 中突出显示的辅助功能问题。 此问题与 DataGridViewRow.DataGridViewRowAccessibleObject 中从 0 开始的行计数有关,这与用户期望和屏幕阅读器之间存在差异。

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

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

以下是 runtimeconfig.template.json 文件的片段,用于设置还原到之前行为的开关

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

受影响的 API