J'ai une application WinForms, et je n'arrive pas à accéder au texte d'un ToolStripStatusLabel
via UIAutomation. Microsoft implies que le support pour StatusStrip
s (et probablement des éléments en leur sein) est limité, mais cela semble être un cas d'utilisation assez basique que cela devrait fonctionner. Le contrôle apparaît avec ControlType.Edit
dans UISpy, et semble être juste une zone de texte en lecture seule, mais sa valeur est toujours la même que son nom, pas son texte.UIAutomation avec ToolStripStatusLabel
Les propriétés UISpy sont les suivantes:
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"
Fondamentalement, je suis l'espoir d'une certaine façon d'aller myLabel.Text = "something"
et être en mesure d'obtenir cette valeur en quelque sorte par UIAutomation.
Ah, intéressant. Je vais essayer la semaine prochaine! Une idée de pourquoi il pourrait être exposé comme un contrôle d'édition? C'est bien pour moi, mais il semble que ce serait trompeur pour un lecteur d'écran. – Thom