AccessibleObject.Navigate-Methode
Navigiert zu einem anderen zugreifbaren Objekt.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Overridable Function Navigate ( _
navdir As AccessibleNavigation _
) As AccessibleObject
'Usage
Dim instance As AccessibleObject
Dim navdir As AccessibleNavigation
Dim returnValue As AccessibleObject
returnValue = instance.Navigate(navdir)
public virtual AccessibleObject Navigate (
AccessibleNavigation navdir
)
public:
virtual AccessibleObject^ Navigate (
AccessibleNavigation navdir
)
public AccessibleObject Navigate (
AccessibleNavigation navdir
)
public function Navigate (
navdir : AccessibleNavigation
) : AccessibleObject
Parameter
- navdir
Einer der AccessibleNavigation-Werte.
Rückgabewert
Ein AccessibleObject, das einen der AccessibleNavigation-Werte darstellt.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Fehler bei der Navigation. |
Hinweise
Sowohl die räumliche als auch die logische Navigation ist immer nur auf die Benutzeroberflächenelemente in einem Container beschränkt. Mit der räumlichen Navigation können Clients nur zu einem nebengeordneten Element des Anfangsobjekts navigieren. Je nach bei der logischen Navigation verwendetem Navigationsflag können Clients entweder zu einem untergeordneten oder einem nebengeordneten Element des Anfangsobjekts navigieren. Diese Methode ändert weder die Auswahl noch den Fokus. Verwenden Sie zum Ändern des Fokus oder zum Auswählen eines Objekts Select. Die Navigate-Methode ruft ausschließlich Benutzeroberflächenelemente ab, für die eine Bildschirmposition definiert ist.
Hinweise für Erben Alle visuellen Objekte müssen diese Methode unterstützen. Wenn ein Objekt den Zustand AccessibleStates.Invisible aufweist, kann die Navigation zu diesem ausgeblendeten Objekt fehlschlagen. Einige systemdefinierte Benutzeroberflächenelemente wie Menüs, Menüelemente und Popupmenüs lassen auch die Navigation zu nicht sichtbaren Objekten zu. Dieses Feature wird jedoch nicht von anderen systemdefinierten Benutzeroberflächenelementen unterstützt. Sofern möglich, sollten Server die Navigation zu nicht sichtbaren Objekten unterstützen. Dies ist jedoch nicht erforderlich, und Clients sollten diese Unterstützung nicht erwarten.
Beispiel
Das folgende Beispiel veranschaulicht die Erstellung eines Chart-Steuerelements mit Eingabehilfenunterstützung unter Verwendung der AccessibleObject-Klasse und der Control.ControlAccessibleObject-Klasse zum Verfügbarmachen von Eingabehilfeninformationen. Das Steuerelement zeichnet zwei Kurven mit einer Legende. Die von ControlAccessibleObject abgeleitete ChartControlAccessibleObject
-Klasse wird in der CreateAccessibilityInstance-Methode verwendet, um benutzerdefinierte Eingabehilfeninformationen für das Chart-Steuerelement bereitzustellen. Da die Diagrammlegende kein tatsächlich Control-basiertes Steuerelement darstellt, sondern vom Chart-Steuerelement gezeichnet wird, weist es keine integrierten Eingabehilfeninformationen auf. Aus diesem Grund überschreibt die ChartControlAccessibleObject
-Klasse die GetChild-Methode, um das CurveLegendAccessibleObject
zurückzugeben, das die Eingabehilfeninformationen für alle Teile der Legende darstellt. Wenn eine Anwendung mit Eingabehilfenunterstützung dieses Steuerelement verwendet, kann das Steuerelement die erforderlichen Eingabehilfeninformationen bereitstellen.
Dieser Code veranschaulicht das Überschreiben der Navigate-Methode. Das vollständige Codebeispiel finden Sie in der Übersicht zur AccessibleObject-Klasse.
' Inner class CurveLegendAccessibleObject represents accessible information
' associated with the CurveLegend object.
Public Class CurveLegendAccessibleObject
Inherits AccessibleObject
Private curveLegend As CurveLegend
Public Sub New(curveLegend As CurveLegend)
Me.curveLegend = curveLegend
End Sub 'New
' Private property that helps get the reference to the parent ChartControl.
Private ReadOnly Property ChartControl() As ChartControlAccessibleObject
Get
Return CType(Parent, ChartControlAccessibleObject)
End Get
End Property
' Friend helper function that returns the ID for this CurveLegend.
Friend ReadOnly Property ID() As Integer
Get
Dim i As Integer
For i = 0 To (ChartControl.GetChildCount()) - 1
If ChartControl.GetChild(i) Is Me Then
Return i
End If
Next i
Return - 1
End Get
End Property
' Gets the Bounds for the CurveLegend. This is used by accessibility programs.
Public Overrides ReadOnly Property Bounds() As Rectangle
Get
' The bounds is in screen coordinates.
Dim loc As Point = curveLegend.Location
Return New Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size)
End Get
End Property
' Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
Public Overrides Property Name() As String
Get
Return curveLegend.Name
End Get
Set
curveLegend.Name = value
End Set
End Property
' Gets the Curve Legend Parent's Accessible object.
' This is used by accessibility programs.
Public Overrides ReadOnly Property Parent() As AccessibleObject
Get
Return curveLegend.chart.AccessibilityObject
End Get
End Property
' Gets the role for the CurveLegend. This is used by accessibility programs.
Public Overrides ReadOnly Property Role() As AccessibleRole
Get
Return System.Windows.Forms.AccessibleRole.StaticText
End Get
End Property
' Gets the state based on the selection for the CurveLegend.
' This is used by accessibility programs.
Public Overrides ReadOnly Property State() As AccessibleStates
Get
Dim stateTemp As AccessibleStates = AccessibleStates.Selectable
If curveLegend.Selected Then
stateTemp = stateTemp Or AccessibleStates.Selected
End If
Return stateTemp
End Get
End Property
' Navigates through siblings of this CurveLegend. This is used by accessibility programs.
Public Overrides Function Navigate(navdir As AccessibleNavigation) As AccessibleObject
' Use the Friend NavigateFromChild helper function that exists
' on ChartControlAccessibleObject.
Return ChartControl.NavigateFromChild(Me, navdir)
End Function
' Selects or unselects this CurveLegend. This is used by accessibility programs.
Public Overrides Sub [Select](selection As AccessibleSelection)
' Use the internal SelectChild helper function that exists
' on ChartControlAccessibleObject.
ChartControl.SelectChild(Me, selection)
End Sub
End Class 'CurveLegendAccessibleObject
// Inner class CurveLegendAccessibleObject represents accessible information
// associated with the CurveLegend object.
public class CurveLegendAccessibleObject : AccessibleObject
{
private CurveLegend curveLegend;
public CurveLegendAccessibleObject(CurveLegend curveLegend) : base()
{
this.curveLegend = curveLegend;
}
// Private property that helps get the reference to the parent ChartControl.
private ChartControlAccessibleObject ChartControl
{
get {
return Parent as ChartControlAccessibleObject;
}
}
// Internal helper function that returns the ID for this CurveLegend.
internal int ID
{
get {
for(int i = 0; i < ChartControl.GetChildCount(); i++) {
if (ChartControl.GetChild(i) == this) {
return i;
}
}
return -1;
}
}
// Gets the Bounds for the CurveLegend. This is used by accessibility programs.
public override Rectangle Bounds
{
get {
// The bounds is in screen coordinates.
Point loc = curveLegend.Location;
return new Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size);
}
}
// Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
public override string Name
{
get {
return curveLegend.Name;
}
set {
curveLegend.Name = value;
}
}
// Gets the Curve Legend Parent's Accessible object.
// This is used by accessibility programs.
public override AccessibleObject Parent
{
get {
return curveLegend.chart.AccessibilityObject;
}
}
// Gets the role for the CurveLegend. This is used by accessibility programs.
public override AccessibleRole Role
{
get {
return AccessibleRole.StaticText;
}
}
// Gets the state based on the selection for the CurveLegend.
// This is used by accessibility programs.
public override AccessibleStates State
{
get {
AccessibleStates state = AccessibleStates.Selectable;
if (curveLegend.Selected)
{
state |= AccessibleStates.Selected;
}
return state;
}
}
// Navigates through siblings of this CurveLegend. This is used by accessibility programs.
public override AccessibleObject Navigate(AccessibleNavigation navdir)
{
// Uses the internal NavigateFromChild helper function that exists
// on ChartControlAccessibleObject.
return ChartControl.NavigateFromChild(this, navdir);
}
// Selects or unselects this CurveLegend. This is used by accessibility programs.
public override void Select(AccessibleSelection selection)
{
// Uses the internal SelectChild helper function that exists
// on ChartControlAccessibleObject.
ChartControl.SelectChild(this, selection);
}
}
// Inner class CurveLegendAccessibleObject represents accessible information
// associated with the CurveLegend object.
public:
ref class CurveLegendAccessibleObject: public AccessibleObject
{
private:
CurveLegend^ curveLegend;
public:
CurveLegendAccessibleObject( CurveLegend^ curveLegend )
: AccessibleObject()
{
this->curveLegend = curveLegend;
}
private:
property ChartControlAccessibleObject^ ChartControl
{
// Private property that helps get the reference to the parent ChartControl.
ChartControlAccessibleObject^ get()
{
return dynamic_cast<ChartControlAccessibleObject^>(Parent);
}
}
internal:
property int ID
{
// Internal helper function that returns the ID for this CurveLegend.
int get()
{
for ( int i = 0; i < ChartControl->GetChildCount(); i++ )
{
if ( ChartControl->GetChild( i ) == this )
{
return i;
}
}
return -1;
}
}
public:
property Rectangle Bounds
{
// Gets the Bounds for the CurveLegend. This is used by accessibility programs.
virtual Rectangle get() override
{
// The bounds is in screen coordinates.
Point loc = curveLegend->Location;
return Rectangle(curveLegend->chart->PointToScreen( loc ),curveLegend->Size);
}
}
property String^ Name
{
// Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
virtual String^ get() override
{
return curveLegend->Name;
}
virtual void set( String^ value ) override
{
curveLegend->Name = value;
}
}
property AccessibleObject^ Parent
{
// Gets the Curve Legend Parent's Accessible object.
// This is used by accessibility programs.
virtual AccessibleObject^ get() override
{
return curveLegend->chart->AccessibilityObject;
}
}
property System::Windows::Forms::AccessibleRole Role
{
// Gets the role for the CurveLegend. This is used by accessibility programs.
virtual System::Windows::Forms::AccessibleRole get() override
{
return ::AccessibleRole::StaticText;
}
}
property AccessibleStates State
{
// Gets the state based on the selection for the CurveLegend.
// This is used by accessibility programs.
virtual AccessibleStates get() override
{
AccessibleStates state = AccessibleStates::Selectable;
if ( curveLegend->Selected )
{
state = static_cast<AccessibleStates>(state | AccessibleStates::Selected);
}
return state;
}
}
// Navigates through siblings of this CurveLegend. This is used by accessibility programs.
virtual AccessibleObject^ Navigate( AccessibleNavigation navdir ) override
{
// Uses the internal NavigateFromChild helper function that exists
// on ChartControlAccessibleObject.
return ChartControl->NavigateFromChild( this, navdir );
}
// Selects or unselects this CurveLegend. This is used by accessibility programs.
virtual void Select( AccessibleSelection selection ) override
{
// Uses the internal SelectChild helper function that exists
// on ChartControlAccessibleObject.
ChartControl->SelectChild( this, selection );
}
};
// Inner class CurveLegendAccessibleObject represents accessible
// information associated with the CurveLegend object.
public static class CurveLegendAccessibleObject extends AccessibleObject
{
private CurveLegend curveLegend;
public CurveLegendAccessibleObject(CurveLegend curveLegend)
{
this.curveLegend = curveLegend;
} //CurveLegendAccessibleObject
// Private property that helps get the reference to the parent
// ChartControl.
/** @property
*/
private ChartControlAccessibleObject get_ChartControl()
{
return (ChartControlAccessibleObject)get_Parent();
} //get_ChartControl
// Internal helper function that returns the ID for this CurveLegend.
/** @property
*/
int get_ID()
{
for (int i = 0; i < get_ChartControl().GetChildCount(); i++) {
if (get_ChartControl().GetChild(i).Equals(this)) {
return i;
}
}
return -1;
} //get_ID
// Gets the Bounds for the CurveLegend.
// This is used by accessibility programs.
/** @property
*/
public Rectangle get_Bounds()
{
// The bounds is in screen coordinates.
Point loc = curveLegend.get_Location();
return new Rectangle(curveLegend.chart.PointToScreen(loc),
curveLegend.get_Size());
} //get_Bounds
// Gets or sets the Name for the CurveLegend.
// This is used by accessibility programs.
/** @property
*/
public String get_Name()
{
return curveLegend.get_Name();
} //get_Name
/** @property
*/
public void set_Name(String value)
{
curveLegend.set_Name(value);
} //set_Name
// Gets the Curve Legend Parent's Accessible object.
// This is used by accessibility programs.
/** @property
*/
public AccessibleObject get_Parent()
{
return curveLegend.chart.get_AccessibilityObject();
} //get_Parent
// Gets the role for the CurveLegend.
// This is used by accessibility programs.
/** @property
*/
public AccessibleRole get_Role()
{
return AccessibleRole.StaticText;
} //get_Role
// Gets the state based on the selection for the CurveLegend.
// This is used by accessibility programs.
/** @property
*/
public AccessibleStates get_State()
{
AccessibleStates state = AccessibleStates.Selectable;
if (curveLegend.get_Selected()) {
state = state | AccessibleStates.Selected;
}
return state;
} //get_State
// Navigates through siblings of this CurveLegend.
// This is used by accessibility programs.
public AccessibleObject Navigate(AccessibleNavigation navDir)
{
// Uses the internal NavigateFromChild helper function
// that exists on ChartControlAccessibleObject.
return get_ChartControl().NavigateFromChild(this, navDir);
} //Navigate
// Selects or unselects this CurveLegend.
// This is used by accessibility programs.
public void Select(AccessibleSelection selection)
{
// Uses the internal SelectChild helper function that exists
// on ChartControlAccessibleObject.
get_ChartControl().SelectChild(this, selection);
} //Select
} //CurveLegendAccessibleObject
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
AccessibleObject-Klasse
AccessibleObject-Member
System.Windows.Forms-Namespace