Condividi tramite


Supporto per automazione interfaccia utente del tipo di controllo MenuItem

NotaNota

La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese).

In questo argomento vengono fornite informazioni sul supporto di Microsoft UI Automation per il tipo di controllo MenuItem. Viene descritta la struttura ad albero di Microsoft UI Automation del controllo e vengono fornite le proprietà e i pattern di controllo richiesti per il tipo di controllo MenuItem.

Un controllo menu consente l'organizzazione gerarchica di elementi associati a comandi e gestori eventi. In un'applicazione Microsoft Windows tipica, una barra dei menu contiene molte voci (ad esempio File, Modifica e Finestra), ciascuna delle quali consente di visualizzare un menu. Un menu contiene un insieme di voci di menu (ad esempio Nuovo, Apri e Chiudi) che possono essere espanse per visualizzare voci di menu aggiuntive o scelte per eseguire un'azione specifica. Una voce di menu può essere ospitata in un menu, una barra dei menu o una barra degli strumenti.

Nelle sezioni riportate di seguito vengono definiti la struttura ad albero, le proprietà, i pattern di controllo e gli eventi di UI Automation necessari per il tipo di controllo MenuItem. I requisiti di UI Automation si applicano a tutti i controlli elenco, Windows Presentation Foundation (WPF), Win32 o Windows Forms.

Nel presente argomento sono contenute le seguenti sezioni.

  • Struttura ad albero di automazione interfaccia utente obbligatoria
  • Proprietà di automazione interfaccia utente obbligatorie
  • Pattern di controllo di automazione interfaccia utente obbligatori
  • Eventi di automazione interfaccia utente per voce di menu
  • Eventi di automazione interfaccia utente obbligatori
  • Problemi legacy
  • Argomenti correlati

Struttura ad albero di automazione interfaccia utente obbligatoria

Nella tabella riportata di seguito vengono illustrate la visualizzazione controlli e la visualizzazione contenuto della struttura ad albero di UI Automation relativamente ai controlli voce di menu e viene descritto il contenuto di ogni visualizzazione. Per ulteriori informazioni sulla struttura ad albero di UI Automation, vedere Cenni preliminari sulla struttura ad albero di automazione dell'interfaccia utente.

Visualizzazione controlli

Visualizzazione contenuto

MenuItem "?"

  • Menu (sottomenu della voce di menu ?)

    • MenuItem "Argomenti della Guida"

    • MenuItem "Informazioni su Blocco note"

MenuItem "?"

  • MenuItem "Argomenti della Guida"

  • MenuItem "Informazioni su Blocco note"

La visualizzazione controlli del controllo voce di menu presenta la struttura ad albero di UI Automation riportata in precedenza. La voce di menu ? è stata inclusa per illustrare più chiaramente la struttura di una tipica gerarchia da menu a sottomenu.

Per la visualizzazione contenuto, Menu è assente dalla struttura ad albero di UI Automation perché non apporta informazioni significative all'utente finale.

Proprietà di automazione interfaccia utente obbligatorie

Nella tabella seguente sono elencate le proprietà di UI Automation il cui valore o la cui definizione è particolarmente rilevante per i controlli voce di menu. Per ulteriori informazioni sulle proprietà dell'UI Automation, vedere Proprietà di automazione interfaccia utente per i client.

Proprietà

Valore

Descrizione

AutomationIdProperty

Vedere le note.

Il valore di questa proprietà deve essere univoco per tutti i controlli di un'applicazione.

BoundingRectangleProperty

Vedere le note.

Il rettangolo più esterno che contiene l'intero controllo.

ClickablePointProperty

Vedere le note.

Supportata se esiste un rettangolo di delimitazione. Se non è possibile fare clic su ogni punto all'interno del rettangolo di delimitazione e vengono eseguiti hit test speciali, eseguire l'override e fornire un punto selezionabile.

IsKeyboardFocusableProperty

Vedere le note.

Se il controllo può ricevere lo stato attivo, deve supportare questa proprietà.

NameProperty

Vedere le note.

Il controllo delle voci di menu è incluso nella visualizzazione contenuto della struttura ad albero di UI Automation e viene etichettato automaticamente con un nome.

LabeledByProperty

Null

Nessuna etichetta.

ControlTypeProperty

MenuItem

Questo valore è identico per tutti i framework dell'interfaccia utente.

LocalizedControlTypeProperty

"voce di menu"

Stringa localizzata che corrisponde al tipo di controllo MenuItem.

IsContentElementProperty

True

Il controllo delle voci di menu non è mai incluso nella visualizzazione contenuto della struttura ad albero di UI Automation.

IsControlElementProperty

True

Il controllo voce di menu deve essere sempre incluso nella visualizzazione controlli della struttura ad albero di UI Automation.

Pattern di controllo di automazione interfaccia utente obbligatori

Nella tabella riportata di seguito sono elencati i pattern di controllo di UI Automation che devono essere supportati dai controlli voce di menu. Per ulteriori informazioni sui pattern di controllo, vedere Cenni preliminari sui pattern di controllo per l'automazione interfaccia utente.

Proprietà pattern di controllo

Supporto

Note

IExpandCollapseProvider

A seconda dei casi

Se il controllo può essere espanso o compresso, implementare IExpandCollapseProvider.

IInvokeProvider

A seconda dei casi

Se il controllo esegue una sola azione o comando, implementare IInvokeProvider.

IToggleProvider

A seconda dei casi

Se il controllo rappresenta un'opzione che può essere attivata o disattivata, implementare IToggleProvider.

ISelectionItemProvider

A seconda dei casi

Se il controllo viene utilizzato per eseguire la selezione da un elenco di opzioni tra voci di menu, implementare ISelectionItemProvider.

Eventi di automazione interfaccia utente per voce di menu

Nella tabella riportata di seguito sono elencati gli eventi di Microsoft UI Automation associati al controllo voce di menu.

Evento

Supporto

Descrizione

InvokedEvent

A seconda dei casi

Deve essere generato se il controllo supporta il pattern di controllo Invoke.

Evento di proprietà modificata ToggleStateProperty.

A seconda dei casi

Deve essere generato se il controllo supporta il pattern di controllo Toggle.

Evento di proprietà modificata ExpandCollapseStateProperty.

A seconda dei casi

Deve essere generato se il controllo supporta il pattern di controllo Expand Collapse.

ElementSelectedEvent

A seconda dei casi

Nessuno.

Eventi di automazione interfaccia utente obbligatori

Nella tabella riportata di seguito sono elencati gli eventi di UI Automation che devono essere supportati da tutti i controlli voce di menu. Per ulteriori informazioni sugli eventi, vedere Cenni preliminari sugli eventi di automazione interfaccia utente.

Evento UI Automation

Supporto/Valore

Note

InvokedEvent

A seconda dei casi

Nessuno

ElementAddedToSelectionEvent

A seconda dei casi

Nessuno

ElementRemovedFromSelectionEvent

A seconda dei casi

Nessuno

ElementSelectedEvent

A seconda dei casi

Nessuno

Evento di proprietà modificata BoundingRectangleProperty.

Obbligatorio

Nessuno

Evento di proprietà modificata IsOffscreenProperty.

Obbligatorio

Nessuno

Evento di proprietà modificata IsEnabledProperty.

Obbligatorio

Nessuno

Evento di proprietà modificata ExpandCollapseStateProperty.

A seconda dei casi

Nessuno

Evento di proprietà modificata ToggleStateProperty.

A seconda dei casi

Nessuno

AutomationFocusChangedEvent

Obbligatorio

Nessuno

StructureChangedEvent

Obbligatorio

Nessuno

Problemi legacy

Il pattern Toggle è supportato solo quando la voce di menu di Win32 viene selezionata e può essere impostata a livello di codice come necessaria per il supporto del pattern Toggle. Poiché la voce di menu di Win32 non espone la relativa possibilità di essere selezionata, viene supportato il pattern Invoke quando la voce di menu non è selezionata. Viene concessa un'eccezione per supportare sempre il pattern Invoke anche per voci di menu che dovrebbero supportare solo il pattern Toggle. In questo modo si evita la confusione dei client relativamente al fatto che un elemento che supporta il pattern Invoke (quando la voce di menu è deselezionata) non supporta più tale pattern quando la voce viene selezionata.

Vedere anche

Riferimenti

MenuItem

Concetti

Cenni preliminari sui pattern di controllo per l'automazione interfaccia utente

Cenni preliminari sui tipi di controllo per l'automazione interfaccia utente

Cenni preliminari su automazione interfaccia utente