Microsoft Window 讲述人以从右到左或从下到上的方式读取控件的名称

Microsoft Window Narrator reads the name of controls in right to left or bottom to top

我开发了一个 winform 应用程序。现在我也需要支持旁白。讲述人宣布控件名称 从右到左 .ex。我在表单 button1button2button3 上有 3 个按钮。讲述人朗读为表格包含 button3button2button1.

同样,在另一种形式中,我以堆叠的方式一个接一个地设置文本框。它从下到上读取文本框名称。

请告诉我如何自定义讲述人的行为。

讲述人通过 UI 自动化 API 访问您应用程序的编程界面。根据您 UI 的定义方式,该编程界面可能不一定与应用程序中显示的视觉效果相匹配。对于您的应用程序,请查看将按钮添加到表单的代码。例如,也许在您的 InitializeComponent() 中,您有这样的东西...

        this.Controls.Add(this.button3);
        this.Controls.Add(this.button2);
        this.Controls.Add(this.button1);

这意味着在公开的编程界面中,button3 是第一个按钮,button1 是最后一个按钮,无论它们在应用程序中的视觉显示位置如何。 Windows SDK 附带的 Inspect 工具可以向您显示编程界面,以及显示按钮的顺序。

如果您确实看到按上述顺序将按钮添加到表单中,请尝试重新排列代码,以便...

        this.Controls.Add(this.button1);
        this.Controls.Add(this.button2);
        this.Controls.Add(this.button3);

讲述人随后将按照您期望的顺序播报按钮。

谢谢,

男人