DataGridView AccessibleName

时间:2013-12-30 16:57:28

标签: c# winforms accessibility screen-readers

我在Winforms表单上有一个DataGridView,并且像往常一样,空间有限。因此,列标题通常缩写(“数量”,“否”等)。我的屏幕阅读器JAWS)像桌子一样处理DataGridView并在我浏览“单元格”(即网格中的控件)时读取列标题。理想情况下,我希望屏幕阅读器使用标题的可访问名称,因此它将显示“数量”而不是“排队茶为什么”。

我找不到列或列标题的AccessibleName属性。有谁知道它潜伏在哪里,还是根本不可用?

2 个答案:

答案 0 :(得分:0)

我对JAWS了解不多,但如果您的DGV列存在空间问题,为什么不设置列标题DefaultCellStyle> WrapMode属性为true,因此如果您在任何列标题文本中使用多个单词,则可以将其包装。因此,您可以使用有意义的列名而不是缩写。

答案 1 :(得分:0)

我不知道JAWS是如何工作的,如果你只需要一个名为AccessibleName的属性,你可以创建一个继承自DataGridViewTextBoxColumn的新的DataGridView Column类

public class AccessibleDataGridViewTextBoxColumn : DataGridViewTextBoxColumn
{
    public string AccessibleName { get; set; }
}

并将其添加到DataGridView。然后,您可以在设计器或代码中使用所需文本设置属性。