2009-06-17 24 views
1

私はWinFormsアプリケーションを持っており、UIAutomationを通じてToolStripStatusLabelのテキストにアクセスできないようです。 Microsoft impliesStatusStrip(およびおそらくそれらのアイテム)のサポートは限られていますが、これは動作するはずの基本的な十分な使用例のようです。ToolStripStatusLabelを使用したUIAutomation

コントロールはUISpyでControlType.Editと表示され、読み取り専用のテキストボックスに見えますが、その値はテキストではなく名前と常に同じです。 UISpyで

プロパティは次のとおりです。基本的に、私はmyLabel.Text = "something"を行くとUIAutomationを通じて何とかその値を出すことができるようにするいくつかの方法のために願っています

AutomationElement 
    General Accessibility 
    AccessKey: "" 
    AcceleratorKey: "" 
    IsKeyboardFocusable: "False" 
    LabeledBy: "(null)" 
    HelpText: "" 

    State 
    IsEnabled: "True" 
    HasKeyboardFocus: "False" 

    Identification 
    ClassName: "" 
    ControlType: "ControlType.Edit" 
    Culture: "(null)" 
    AutomationId: "StatusBar.Pane0" 
    LocalizedControlType: "edit" 
    Name: "My Label" 
    ProcessId: "3972 (*****)" 
    RuntimeId: "42 134002 0" 
    IsPassword: "False" 
    IsControlElement: "True" 
    IsContentElement: "True" 

    Visibility 
    BoundingRectangle: "(9, 273, 79, 17)" 
    ClickablePoint: "48,281" 
    IsOffscreen: "False" 

ControlPatterns 
    GridItem 
    Row: "0" 
    Column: "0" 
    RowSpan: "1" 
    ColumnSpan: "1" 
    ContainingGrid: ""status bar" "statusStrip"" 

    Value 
    Value: "My Label" 
    IsReadOnly: "True" 

答えて

1

ToolStripStatusLabelコントロールの.Textに加えて、AccessibleNameプロパティを設定します。これは、同様のシナリオで、ホワイトを使用して私の作品:面白い

statusLabel.Text = statusLabel.AccessibleName = "New status value";

0

私はこれを回避するために、テキストが異なる別々のラベルを2つ作成し、適切なラベルを表示して非表示にする必要がありました。これは私の目的(ホワイトでテスト)で十分ですが、UIAutomationがテキスト値を表示しないことに非常に驚いています。これは基本的に、WinFormsアプリケーションのステータスバーのすべてのテキストがスクリーンリーダーにアクセスできないことを意味します。

0

あなたの説明に似たラベルのテキストを取得するのに問題はありませんでした。実際、AutomationIdは私のアプリケーションでも同じです。 ControlTypeControlType.Editと示されているという事実は誤解を招きます。例えば以下はautomationElement"StatusBar.Pane0"AutomationIdControlType.Editに対してFindメソッドを使用して配置されています

statusText = (string)automationElement.GetCurrentPropertyValue(ValuePattern.ValueProperty); 

に動作します。

+0

ああ、。私は来週これを試してみよう!なぜそれがエディットコントロールとして公開されているのでしょうか?これは私にとっては問題ありませんが、スクリーンリーダーにとっては誤解を招くようです。 – Thom

関連する問題