AccessibleObject Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller information som hjälpmedelsprogram använder för att justera ett programs användargränssnitt (UI) för användare med funktionsnedsättningar.
public ref class AccessibleObject : MarshalByRefObject, Accessibility::IAccessible, System::Reflection::IReflect
public ref class AccessibleObject : System::Runtime::InteropServices::StandardOleMarshalObject, Accessibility::IAccessible, System::Reflection::IReflect
[System.Runtime.InteropServices.ComVisible(true)]
public class AccessibleObject : MarshalByRefObject, Accessibility.IAccessible, System.Reflection.IReflect
[System.Runtime.InteropServices.ComVisible(true)]
public class AccessibleObject : System.Runtime.InteropServices.StandardOleMarshalObject, Accessibility.IAccessible, System.Reflection.IReflect
[<System.Runtime.InteropServices.ComVisible(true)>]
type AccessibleObject = class
inherit MarshalByRefObject
interface IReflect
interface IAccessible
interface UnsafeNativeMethods.IEnumVariant
interface UnsafeNativeMethods.IMarshal
[<System.Runtime.InteropServices.ComVisible(true)>]
type AccessibleObject = class
inherit StandardOleMarshalObject
interface IReflect
interface IAccessible
interface UnsafeNativeMethods.IEnumVariant
interface UnsafeNativeMethods.IOleWindow
[<System.Runtime.InteropServices.ComVisible(true)>]
type AccessibleObject = class
inherit StandardOleMarshalObject
interface IReflect
interface IAccessible
Public Class AccessibleObject
Inherits MarshalByRefObject
Implements IAccessible, IReflect
Public Class AccessibleObject
Inherits StandardOleMarshalObject
Implements IAccessible, IReflect
- Arv
- Arv
- Härledda
- Attribut
- Implementeringar
Exempel
I följande kodexempel visas hur du skapar en tillgänglighetsmedveten diagramkontroll med hjälp AccessibleObject av klasserna och Control.ControlAccessibleObject för att exponera tillgänglig information. Kontrollen ritar två kurvor tillsammans med en förklaring. Klassen ChartControlAccessibleObject , som härleds från ControlAccessibleObject, används i CreateAccessibilityInstance metoden för att tillhandahålla anpassad tillgänglig information för diagramkontrollen. Eftersom diagramförklaringen inte är en faktisk Control -based kontroll, utan i stället ritas av diagramkontrollen, har den ingen inbyggd tillgänglig information.
ChartControlAccessibleObject Därför åsidosätter GetChild klassen metoden för att returnera den CurveLegendAccessibleObject som representerar tillgänglig information för varje del av förklaringen. När ett tillgängligt program använder den här kontrollen kan kontrollen tillhandahålla nödvändig tillgänglig information.
#using <Accessibility.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
// Declare a chart control that demonstrates accessibility in Windows Forms.
public ref class ChartControl: public System::Windows::Forms::UserControl
{
public:
ref class ChartControlAccessibleObject;
// forward declaration
// Inner Class that represents a legend for a curve in the chart.
ref class CurveLegend
{
// 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 );
}
};
private:
// class CurveLgendAccessibleObject
String^ name;
ChartControl^ chart;
CurveLegendAccessibleObject^ accObj;
bool selected;
Point location;
public:
CurveLegend( ChartControl^ chart, String^ name )
{
this->chart = chart;
this->name = name;
selected = true;
}
property AccessibleObject^ AccessibilityObject
{
// Gets the accessibility object for the curve legend.
AccessibleObject^ get()
{
if ( accObj == nullptr )
{
accObj = gcnew CurveLegendAccessibleObject( this );
}
return accObj;
}
}
property Rectangle Bounds
{
// Gets the bounds for the curve legend.
Rectangle get()
{
return Rectangle(Location,Size);
}
}
property Point Location
{
// Gets or sets the location for the curve legend.
Point get()
{
return location;
}
void set( Point value )
{
location = value;
chart->Invalidate();
// Notifies the chart of the location change. This is used for
// the accessibility information. AccessibleEvents::LocationChange
// tells the chart the reason for the notification.
chart->AccessibilityNotifyClients( AccessibleEvents::LocationChange, (dynamic_cast<CurveLegendAccessibleObject^>(AccessibilityObject))->ID );
}
}
property String^ Name
{
// Gets or sets the Name for the curve legend.
String^ get()
{
return name;
}
void set( String^ value )
{
if ( name != value )
{
name = value;
chart->Invalidate();
// Notifies the chart of the name change. This is used for
// the accessibility information. AccessibleEvents::NameChange
// tells the chart the reason for the notification.
chart->AccessibilityNotifyClients( AccessibleEvents::NameChange, (dynamic_cast<CurveLegendAccessibleObject^>(AccessibilityObject))->ID );
}
}
}
property bool Selected
{
// Gets or sets the Selected state for the curve legend.
bool get()
{
return selected;
}
void set( bool value )
{
if ( selected != value )
{
selected = value;
chart->Invalidate();
// Notifies the chart of the selection value change. This is used for
// the accessibility information. The AccessibleEvents value depends upon
// if the selection is true (AccessibleEvents::SelectionAdd) or
// false (AccessibleEvents::SelectionRemove).
chart->AccessibilityNotifyClients( selected ? AccessibleEvents::SelectionAdd : AccessibleEvents::SelectionRemove, (dynamic_cast<CurveLegendAccessibleObject^>(AccessibilityObject))->ID );
}
}
}
property System::Drawing::Size Size
{
// Gets the Size for the curve legend.
System::Drawing::Size get()
{
int legendHeight = chart->Font->Height + 4;
Graphics^ g = chart->CreateGraphics();
int legendWidth = (int)g->MeasureString( Name, chart->Font ).Width + 4;
return System::Drawing::Size( legendWidth, legendHeight );
}
}
};
private:
// class CurveLegend
CurveLegend^ legend1;
CurveLegend^ legend2;
public:
ChartControl()
{
// The ChartControl draws the chart in the OnPaint .
SetStyle( ControlStyles::ResizeRedraw, true );
SetStyle( ControlStyles::DoubleBuffer, true );
SetStyle( ControlStyles::AllPaintingInWmPaint, true );
this->BackColor = System::Drawing::Color::White;
this->Name = "ChartControl";
this->Click += gcnew System::EventHandler( this, &ChartControl::ChartControl_Click );
this->QueryAccessibilityHelp += gcnew System::Windows::Forms::QueryAccessibilityHelpEventHandler( this, &ChartControl::ChartControl_QueryAccessibilityHelp );
// The CurveLengend is not Control-based, it just
// represents the parts of the legend.
legend1 = gcnew CurveLegend( this,"A" );
legend1->Location = Point(20,30);
legend2 = gcnew CurveLegend( this,"B" );
legend2->Location = Point(20,50);
}
protected:
// Overridden to return the custom AccessibleObject
// for the entire chart.
virtual AccessibleObject^ CreateAccessibilityInstance() override
{
return gcnew ChartControlAccessibleObject( this );
}
virtual void OnPaint( PaintEventArgs^ e ) override
{
// The ChartControl draws the chart in the OnPaint .
System::Windows::Forms::UserControl::OnPaint( e );
Rectangle bounds = this->ClientRectangle;
int border = 5;
// Draws the legends first.
StringFormat^ format = gcnew StringFormat;
format->Alignment = StringAlignment::Center;
format->LineAlignment = StringAlignment::Center;
if ( legend1 != nullptr )
{
if ( legend1->Selected )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), legend1->Bounds );
}
else
{
e->Graphics->DrawRectangle( Pens::Blue, legend1->Bounds );
}
e->Graphics->DrawString( legend1->Name, this->Font, Brushes::Black, legend1->Bounds, format );
}
if ( legend2 != nullptr )
{
if ( legend2->Selected )
{
e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), legend2->Bounds );
}
else
{
e->Graphics->DrawRectangle( Pens::Red, legend2->Bounds );
}
e->Graphics->DrawString( legend2->Name, this->Font, Brushes::Black, legend2->Bounds, format );
}
// Charts out the actual curves that represent data in the Chart.
bounds.Inflate( -border, -border );
array<Point>^ temp1 = {Point(bounds.Left,bounds.Bottom),Point(bounds.Left + bounds.Width / 3,bounds.Top + bounds.Height / 5),Point(bounds.Right - bounds.Width / 3,(bounds.Top + bounds.Bottom) / 2),Point(bounds.Right,bounds.Top)};
array<Point>^curve1 = temp1;
array<Point>^ temp2 = {Point(bounds.Left,bounds.Bottom - bounds.Height / 3),Point(bounds.Left + bounds.Width / 3,bounds.Top + bounds.Height / 5),Point(bounds.Right - bounds.Width / 3,(bounds.Top + bounds.Bottom) / 2),Point(bounds.Right,bounds.Top + bounds.Height / 2)};
array<Point>^curve2 = temp2;
// Draws the actual curve only if it is selected.
if ( legend1->Selected )
e->Graphics->DrawCurve( Pens::Blue, curve1 );
if ( legend2->Selected )
e->Graphics->DrawCurve( Pens::Red, curve2 );
e->Graphics->DrawRectangle( Pens::Blue, bounds );
}
// Handles the QueryAccessibilityHelp event.
void ChartControl_QueryAccessibilityHelp( Object^ /*sender*/, System::Windows::Forms::QueryAccessibilityHelpEventArgs^ e )
{
e->HelpString = "Displays chart data";
}
// Handles the Click event for the chart.
// Toggles the selection of whatever legend was clicked on
void ChartControl_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
Point pt = this->PointToClient( Control::MousePosition );
if ( legend1->Bounds.Contains( pt ) )
{
legend1->Selected = !legend1->Selected;
}
else
if ( legend2->Bounds.Contains( pt ) )
{
legend2->Selected = !legend2->Selected;
}
}
public:
property array<CurveLegend^>^ Legends
{
// Gets an array of CurveLengends used in the Chart.
array<CurveLegend^>^ get()
{
array<CurveLegend^>^temp3 = {legend1,legend2};
return temp3;
}
}
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl::CreateAccessibilityInstance .
ref class ChartControlAccessibleObject: public ControlAccessibleObject
{
private:
ChartControl^ chartControl;
public:
ChartControlAccessibleObject( ChartControl^ ctrl )
: ControlAccessibleObject( ctrl )
{
chartControl = ctrl;
}
property System::Windows::Forms::AccessibleRole Role
{
// Gets the role for the Chart. This is used by accessibility programs.
virtual System::Windows::Forms::AccessibleRole get() override
{
return ::AccessibleRole::Chart;
}
}
property AccessibleStates State
{
// Gets the state for the Chart. This is used by accessibility programs.
virtual AccessibleStates get() override
{
return AccessibleStates::ReadOnly;
}
}
// The CurveLegend objects are "child" controls in terms of accessibility so
// return the number of ChartLengend objects.
virtual int GetChildCount() override
{
return chartControl->Legends->Length;
}
// Gets the Accessibility object of the child CurveLegend idetified by index.
virtual AccessibleObject^ GetChild( int index ) override
{
if ( index >= 0 && index < chartControl->Legends->Length )
{
return chartControl->Legends[ index ]->AccessibilityObject;
}
return nullptr;
}
internal:
// Helper function that is used by the CurveLegend's accessibility object
// to navigate between sibiling controls. Specifically, this function is used in
// the CurveLegend::CurveLegendAccessibleObject.Navigate function.
AccessibleObject^ NavigateFromChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleNavigation navdir )
{
switch ( navdir )
{
case AccessibleNavigation::Down:
case AccessibleNavigation::Next:
return GetChild( child->ID + 1 );
case AccessibleNavigation::Up:
case AccessibleNavigation::Previous:
return GetChild( child->ID - 1 );
}
return nullptr;
}
// Helper function that is used by the CurveLegend's accessibility object
// to select a specific CurveLegend control. Specifically, this function is used
// in the CurveLegend::CurveLegendAccessibleObject.Select function.
void SelectChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleSelection selection )
{
int childID = child->ID;
// Determine which selection action should occur, based on the
// AccessibleSelection value.
if ( (selection & AccessibleSelection::TakeSelection) != (AccessibleSelection)0 )
{
for ( int i = 0; i < chartControl->Legends->Length; i++ )
{
if ( i == childID )
{
chartControl->Legends[ i ]->Selected = true;
}
else
{
chartControl->Legends[ i ]->Selected = false;
}
}
// AccessibleSelection->AddSelection means that the CurveLegend will be selected.
if ( (selection & AccessibleSelection::AddSelection) != (AccessibleSelection)0 )
{
chartControl->Legends[ childID ]->Selected = true;
}
// AccessibleSelection->AddSelection means that the CurveLegend will be unselected.
if ( (selection & AccessibleSelection::RemoveSelection) != (AccessibleSelection)0 )
{
chartControl->Legends[ childID ]->Selected = false;
}
}
}
};
// class ChartControlAccessibleObject
};
// class ChartControl
public ref class Form1: public System::Windows::Forms::Form
{
private:
// Test out the Chart Control.
ChartControl^ chart1;
public:
Form1()
{
// Create a chart control and add it to the form.
this->chart1 = gcnew ChartControl;
this->ClientSize = System::Drawing::Size( 920, 566 );
this->chart1->Location = System::Drawing::Point( 47, 16 );
this->chart1->Size = System::Drawing::Size( 600, 400 );
this->Controls->Add( this->chart1 );
}
};
// class Form1
[STAThread]
int main()
{
Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.Windows.Forms;
namespace ChartControl
{
public class Form1 : System.Windows.Forms.Form
{
// Test out the Chart Control.
private ChartControl chart1;
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
public Form1() {
// Create a chart control and add it to the form.
this.chart1 = new ChartControl();
this.ClientSize = new System.Drawing.Size(920, 566);
this.chart1.Location = new System.Drawing.Point(47, 16);
this.chart1.Size = new System.Drawing.Size(600, 400);
this.Controls.Add(this.chart1);
}
}
// Declare a chart control that demonstrates accessibility in Windows Forms.
public class ChartControl : System.Windows.Forms.UserControl
{
private CurveLegend legend1;
private CurveLegend legend2;
public ChartControl()
{
// The ChartControl draws the chart in the OnPaint override.
SetStyle(ControlStyles.ResizeRedraw, true);
SetStyle(ControlStyles.DoubleBuffer, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.BackColor = System.Drawing.Color.White;
this.Name = "ChartControl";
this.Click += new System.EventHandler(this.ChartControl_Click);
this.QueryAccessibilityHelp +=
new System.Windows.Forms.QueryAccessibilityHelpEventHandler(
this.ChartControl_QueryAccessibilityHelp);
// The CurveLengend is not Control-based, it just
// represents the parts of the legend.
legend1 = new CurveLegend(this, "A");
legend1.Location = new Point(20, 30);
legend2 = new CurveLegend(this, "B");
legend2.Location = new Point(20, 50);
}
// Overridden to return the custom AccessibleObject
// for the entire chart.
protected override AccessibleObject CreateAccessibilityInstance()
{
return new ChartControlAccessibleObject(this);
}
protected override void OnPaint(PaintEventArgs e)
{
// The ChartControl draws the chart in the OnPaint override.
base.OnPaint(e);
Rectangle bounds = this.ClientRectangle;
int border = 5;
// Draws the legends first.
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
if (legend1 != null) {
if (legend1.Selected) {
e.Graphics.FillRectangle(new SolidBrush(Color.Blue), legend1.Bounds);
} else {
e.Graphics.DrawRectangle(Pens.Blue, legend1.Bounds);
}
e.Graphics.DrawString(legend1.Name, this.Font, Brushes.Black, legend1.Bounds, format);
}
if (legend2 != null) {
if (legend2.Selected) {
e.Graphics.FillRectangle(new SolidBrush(Color.Red), legend2.Bounds);
} else {
e.Graphics.DrawRectangle(Pens.Red, legend2.Bounds);
}
e.Graphics.DrawString(legend2.Name, this.Font, Brushes.Black, legend2.Bounds, format);
}
// Charts out the actual curves that represent data in the Chart.
bounds.Inflate(-border, -border);
Point[] curve1 = new Point[] {new Point(bounds.Left, bounds.Bottom),
new Point(bounds.Left + bounds.Width / 3, bounds.Top + bounds.Height / 5),
new Point(bounds.Right - bounds.Width / 3, (bounds.Top + bounds.Bottom) / 2),
new Point(bounds.Right, bounds.Top)};
Point[] curve2 = new Point[] {new Point(bounds.Left, bounds.Bottom - bounds.Height / 3),
new Point(bounds.Left + bounds.Width / 3, bounds.Top + bounds.Height / 5),
new Point(bounds.Right - bounds.Width / 3, (bounds.Top + bounds.Bottom) / 2),
new Point(bounds.Right, bounds.Top + bounds.Height / 2)};
// Draws the actual curve only if it is selected.
if (legend1.Selected) e.Graphics.DrawCurve(Pens.Blue, curve1);
if (legend2.Selected) e.Graphics.DrawCurve(Pens.Red, curve2);
e.Graphics.DrawRectangle(Pens.Blue, bounds);
}
// Handles the QueryAccessibilityHelp event.
private void ChartControl_QueryAccessibilityHelp(object sender,
System.Windows.Forms.QueryAccessibilityHelpEventArgs e)
{
e.HelpString = "Displays chart data";
}
// Handles the Click event for the chart.
// Toggles the selection of whatever legend was clicked on
private void ChartControl_Click(object sender, System.EventArgs e)
{
Point pt = this.PointToClient(Control.MousePosition);
if (legend1.Bounds.Contains(pt)) {
legend1.Selected = !legend1.Selected;
} else if (legend2.Bounds.Contains(pt)) {
legend2.Selected = !legend2.Selected;
}
}
// Gets an array of CurveLengends used in the Chart.
public CurveLegend[] Legends
{
get {
return new CurveLegend[] { legend1, legend2 };
}
}
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl.CreateAccessibilityInstance override.
public class ChartControlAccessibleObject : ControlAccessibleObject
{
ChartControl chartControl;
public ChartControlAccessibleObject(ChartControl ctrl) : base(ctrl)
{
chartControl = ctrl;
}
// Gets the role for the Chart. This is used by accessibility programs.
public override AccessibleRole Role
{
get {
return AccessibleRole.Chart;
}
}
// Gets the state for the Chart. This is used by accessibility programs.
public override AccessibleStates State
{
get {
return AccessibleStates.ReadOnly;
}
}
// The CurveLegend objects are "child" controls in terms of accessibility so
// return the number of ChartLengend objects.
public override int GetChildCount()
{
return chartControl.Legends.Length;
}
// Gets the Accessibility object of the child CurveLegend idetified by index.
public override AccessibleObject GetChild(int index)
{
if (index >= 0 && index < chartControl.Legends.Length) {
return chartControl.Legends[index].AccessibilityObject;
}
return null;
}
// Helper function that is used by the CurveLegend's accessibility object
// to navigate between sibiling controls. Specifically, this function is used in
// the CurveLegend.CurveLegendAccessibleObject.Navigate function.
internal AccessibleObject NavigateFromChild(CurveLegend.CurveLegendAccessibleObject child,
AccessibleNavigation navdir)
{
switch(navdir) {
case AccessibleNavigation.Down:
case AccessibleNavigation.Next:
return GetChild(child.ID + 1);
case AccessibleNavigation.Up:
case AccessibleNavigation.Previous:
return GetChild(child.ID - 1);
}
return null;
}
// Helper function that is used by the CurveLegend's accessibility object
// to select a specific CurveLegend control. Specifically, this function is used
// in the CurveLegend.CurveLegendAccessibleObject.Select function.
internal void SelectChild(CurveLegend.CurveLegendAccessibleObject child, AccessibleSelection selection)
{
int childID = child.ID;
// Determine which selection action should occur, based on the
// AccessibleSelection value.
if ((selection & AccessibleSelection.TakeSelection) != 0) {
for(int i = 0; i < chartControl.Legends.Length; i++) {
if (i == childID) {
chartControl.Legends[i].Selected = true;
} else {
chartControl.Legends[i].Selected = false;
}
}
// AccessibleSelection.AddSelection means that the CurveLegend will be selected.
if ((selection & AccessibleSelection.AddSelection) != 0) {
chartControl.Legends[childID].Selected = true;
}
// AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
if ((selection & AccessibleSelection.RemoveSelection) != 0) {
chartControl.Legends[childID].Selected = false;
}
}
}
}
// Inner Class that represents a legend for a curve in the chart.
public class CurveLegend
{
private string name;
private ChartControl chart;
private CurveLegendAccessibleObject accObj;
private bool selected = true;
private Point location;
public CurveLegend(ChartControl chart, string name)
{
this.chart = chart;
this.name = name;
}
// Gets the accessibility object for the curve legend.
public AccessibleObject AccessibilityObject
{
get
{
accObj ??= new CurveLegendAccessibleObject(this);
return accObj;
}
}
// Gets the bounds for the curve legend.
public Rectangle Bounds
{
get
{
return new Rectangle(Location, Size);
}
}
// Gets or sets the location for the curve legend.
public Point Location
{
get {
return location;
}
set {
location = value;
chart.Invalidate();
// Notifies the chart of the location change. This is used for
// the accessibility information. AccessibleEvents.LocationChange
// tells the chart the reason for the notification.
chart.AccessibilityNotifyClients(AccessibleEvents.LocationChange,
((CurveLegendAccessibleObject)AccessibilityObject).ID);
}
}
// Gets or sets the Name for the curve legend.
public string Name
{
get {
return name;
}
set {
if (name != value)
{
name = value;
chart.Invalidate();
// Notifies the chart of the name change. This is used for
// the accessibility information. AccessibleEvents.NameChange
// tells the chart the reason for the notification.
chart.AccessibilityNotifyClients(AccessibleEvents.NameChange,
((CurveLegendAccessibleObject)AccessibilityObject).ID);
}
}
}
// Gets or sets the Selected state for the curve legend.
public bool Selected
{
get {
return selected;
}
set {
if (selected != value)
{
selected = value;
chart.Invalidate();
// Notifies the chart of the selection value change. This is used for
// the accessibility information. The AccessibleEvents value depends upon
// if the selection is true (AccessibleEvents.SelectionAdd) or
// false (AccessibleEvents.SelectionRemove).
chart.AccessibilityNotifyClients(
selected ? AccessibleEvents.SelectionAdd : AccessibleEvents.SelectionRemove,
((CurveLegendAccessibleObject)AccessibilityObject).ID);
}
}
}
// Gets the Size for the curve legend.
public Size Size
{
get {
int legendHeight = chart.Font.Height + 4;
Graphics g = chart.CreateGraphics();
int legendWidth = (int)g.MeasureString(Name, chart.Font).Width + 4;
return new Size(legendWidth, legendHeight);
}
}
// 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);
}
}
}
}
}
Option Explicit
Imports System.Drawing
Imports System.Windows.Forms
Namespace ChartControlNameSpace
Public Class Form1
Inherits System.Windows.Forms.Form
' Test out the Chart Control.
Private chart1 As ChartControl
<System.STAThread()> _
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New Form1())
End Sub
Public Sub New()
' Create a chart control and add it to the form.
Me.chart1 = New ChartControl()
Me.ClientSize = New System.Drawing.Size(920, 566)
Me.chart1.Location = New System.Drawing.Point(47, 16)
Me.chart1.Size = New System.Drawing.Size(600, 400)
Me.Controls.Add(Me.chart1)
End Sub
End Class
' Declares a chart control that demonstrates Accessibility in Windows Forms.
Public Class ChartControl
Inherits System.Windows.Forms.UserControl
Private legend1 As CurveLegend
Private legend2 As CurveLegend
Public Sub New()
' The ChartControl draws the chart in the OnPaint override.
SetStyle(ControlStyles.ResizeRedraw, True)
SetStyle(ControlStyles.DoubleBuffer, True)
SetStyle(ControlStyles.AllPaintingInWmPaint, True)
Me.BackColor = System.Drawing.Color.White
Me.Name = "ChartControl"
' The CurveLengend is not Control-based, it just
' represent the parts of the legend.
legend1 = New CurveLegend(Me, "A")
legend1.Location = New Point(20, 30)
legend2 = New CurveLegend(Me, "B")
legend2.Location = New Point(20, 50)
End Sub
' Overridden to return the custom AccessibleObject
' for the entire chart.
Protected Overrides Function CreateAccessibilityInstance() As AccessibleObject
Return New ChartControlAccessibleObject(Me)
End Function
Protected Overrides Sub OnPaint(e As PaintEventArgs)
' The ChartControl draws the chart in the OnPaint override.
MyBase.OnPaint(e)
Dim bounds As Rectangle = Me.ClientRectangle
Dim border As Integer = 5
' Draw the legends first.
Dim format As New StringFormat()
format.Alignment = StringAlignment.Center
format.LineAlignment = StringAlignment.Center
If (legend1 IsNot Nothing) Then
If legend1.Selected Then
e.Graphics.FillRectangle(New SolidBrush(Color.Blue), legend1.Bounds)
Else
e.Graphics.DrawRectangle(Pens.Blue, legend1.Bounds)
End If
e.Graphics.DrawString(legend1.Name, Me.Font, Brushes.Black, RectangleF.op_Implicit(legend1.Bounds), format)
End If
If (legend2 IsNot Nothing) Then
If legend2.Selected Then
e.Graphics.FillRectangle(New SolidBrush(Color.Red), legend2.Bounds)
Else
e.Graphics.DrawRectangle(Pens.Red, legend2.Bounds)
End If
e.Graphics.DrawString(legend2.Name, Me.Font, Brushes.Black, RectangleF.op_Implicit(legend2.Bounds), format)
End If
' Chart out the actual curves that represent data in the Chart.
bounds.Inflate(-border, -border)
Dim curve1() As Point = {New Point(bounds.Left, bounds.Bottom), _
New Point(bounds.Left + bounds.Width / 3, bounds.Top + bounds.Height / 5), _
New Point(bounds.Right - bounds.Width / 3,(bounds.Top + bounds.Bottom) / 2), _
New Point(bounds.Right, bounds.Top)}
Dim curve2() As Point = {New Point(bounds.Left, bounds.Bottom - bounds.Height / 3), _
New Point(bounds.Left + bounds.Width / 3, bounds.Top + bounds.Height / 5), _
New Point(bounds.Right - bounds.Width / 3,(bounds.Top + bounds.Bottom) / 2), _
New Point(bounds.Right, bounds.Top + bounds.Height / 2)}
' Draw the actual curve only if it is selected.
If legend1.Selected Then
e.Graphics.DrawCurve(Pens.Blue, curve1)
End If
If legend2.Selected Then
e.Graphics.DrawCurve(Pens.Red, curve2)
End If
e.Graphics.DrawRectangle(Pens.Blue, bounds)
End Sub
' Handle the QueryAccessibilityHelp event.
Private Sub ChartControl_QueryAccessibilityHelp(sender As Object, _
e As System.Windows.Forms.QueryAccessibilityHelpEventArgs) Handles MyBase.QueryAccessibilityHelp
e.HelpString = "Displays chart data"
End Sub
' Handle the Click event for the chart.
' Toggle the selection of whatever legend was clicked.
Private Sub ChartControl_Click(sender As Object, e As System.EventArgs) Handles MyBase.Click
Dim pt As Point = Me.PointToClient(Control.MousePosition)
If legend1.Bounds.Contains(pt) Then
legend1.Selected = Not legend1.Selected
Else
If legend2.Bounds.Contains(pt) Then
legend2.Selected = Not legend2.Selected
End If
End If
End Sub
' Get an array of the CurveLengends used in the Chart.
Public ReadOnly Property Legends() As CurveLegend()
Get
Return New CurveLegend() {legend1, legend2}
End Get
End Property
Protected Sub ExposeAccessibilityNotifyClients(ByVal accEvent As AccessibleEvents, ByVal childID As Integer)
AccessibilityNotifyClients(accEvent, childID)
End Sub
' Inner Class ChartControlAccessibleObject represents accessible information
' associated with the ChartControl.
' The ChartControlAccessibleObject is returned in the ' ChartControl.CreateAccessibilityInstance override.
Public Class ChartControlAccessibleObject
Inherits Control.ControlAccessibleObject
Private chartControl As ChartControl
Public Sub New(ctrl As ChartControl)
MyBase.New(ctrl)
chartControl = ctrl
End Sub
' Get the role for the Chart. This is used by accessibility programs.
Public Overrides ReadOnly Property Role() As AccessibleRole
Get
Return System.Windows.Forms.AccessibleRole.Chart
End Get
End Property
' Get the state for the Chart. This is used by accessibility programs.
Public Overrides ReadOnly Property State() As AccessibleStates
Get
Return AccessibleStates.ReadOnly
End Get
End Property
' The CurveLegend objects are "child" controls in terms of accessibility so
' return the number of ChartLengend objects.
Public Overrides Function GetChildCount() As Integer
Return chartControl.Legends.Length
End Function
' Get the Accessibility object of the child CurveLegend idetified by index.
Public Overrides Function GetChild(index As Integer) As AccessibleObject
If index >= 0 And index < chartControl.Legends.Length Then
Return chartControl.Legends(index).AccessibilityObject
End If
Return Nothing
End Function
' Helper function that is used by the CurveLegend's accessibility object
' to navigate between sibiling controls. Specifically, this function is used in
' the CurveLegend.CurveLegendAccessibleObject.Navigate function.
Friend Function NavigateFromChild(child As CurveLegend.CurveLegendAccessibleObject, _
navdir As AccessibleNavigation) As AccessibleObject
Select Case navdir
Case AccessibleNavigation.Down, AccessibleNavigation.Next
Return GetChild(child.ID + 1)
Case AccessibleNavigation.Up, AccessibleNavigation.Previous
Return GetChild(child.ID - 1)
End Select
Return Nothing
End Function
' Helper function that is used by the CurveLegend's accessibility object
' to select a specific CurveLegend control. Specifically, this function is used
' in the CurveLegend.CurveLegendAccessibleObject.Select function.
Friend Sub SelectChild(child As CurveLegend.CurveLegendAccessibleObject, selection As AccessibleSelection)
Dim childID As Integer = child.ID
' Determine which selection action should occur, based on the
' AccessibleSelection value.
If (selection And AccessibleSelection.TakeSelection) <> 0 Then
Dim i As Integer
For i = 0 To chartControl.Legends.Length - 1
If i = childID Then
chartControl.Legends(i).Selected = True
Else
chartControl.Legends(i).Selected = False
End If
Next i
' AccessibleSelection.AddSelection means that the CurveLegend will be selected.
If (selection And AccessibleSelection.AddSelection) <> 0 Then
chartControl.Legends(childID).Selected = True
End If
' AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
If (selection And AccessibleSelection.RemoveSelection) <> 0 Then
chartControl.Legends(childID).Selected = False
End If
End If
End Sub
End Class
' Inner Class that represents a legend for a curve in the chart.
Public Class CurveLegend
Private m_name As String
Private chart As ChartControl
Private accObj As CurveLegendAccessibleObject
Private m_selected As Boolean = True
Private m_location As Point
Public Sub New(chart As ChartControl, name As String)
Me.chart = chart
Me.m_name = name
End Sub
' Gets the accessibility object for the curve legend.
Public ReadOnly Property AccessibilityObject() As AccessibleObject
Get
If accObj Is Nothing Then
accObj = New CurveLegendAccessibleObject(Me)
End If
Return accObj
End Get
End Property
' Gets the bounds for the curve legend.
Public ReadOnly Property Bounds() As Rectangle
Get
Return New Rectangle(Location, Size)
End Get
End Property
' Gets or sets the location for the curve legend.
Public Property Location() As Point
Get
Return m_location
End Get
Set
m_location = value
chart.Invalidate()
' Notifies the chart of the location change. This is used for
' the accessibility information. AccessibleEvents.LocationChange
' tells the chart the reason for the notification.
chart.ExposeAccessibilityNotifyClients(AccessibleEvents.LocationChange, _
CType(AccessibilityObject, CurveLegendAccessibleObject).ID)
End Set
End Property
' Gets or sets the Name for the curve legend.
Public Property Name() As String
Get
Return m_name
End Get
Set
If m_name <> value Then
m_name = value
chart.Invalidate()
' Notifies the chart of the name change. This is used for
' the accessibility information. AccessibleEvents.NameChange
' tells the chart the reason for the notification.
chart.ExposeAccessibilityNotifyClients(AccessibleEvents.NameChange, _
CType(AccessibilityObject, CurveLegendAccessibleObject).ID)
End If
End Set
End Property
' Gets or sets the Selected state for the curve legend.
Public Property Selected() As Boolean
Get
Return m_selected
End Get
Set
If m_selected <> value Then
m_selected = value
chart.Invalidate()
' Notifies the chart of the selection value change. This is used for
' the accessibility information. The AccessibleEvents value varies
' on whether the selection is true (AccessibleEvents.SelectionAdd) or
' false (AccessibleEvents.SelectionRemove).
If m_selected Then
chart.ExposeAccessibilityNotifyClients(AccessibleEvents.SelectionAdd, _
CType(AccessibilityObject, CurveLegendAccessibleObject).ID)
Else
chart.ExposeAccessibilityNotifyClients(AccessibleEvents.SelectionRemove, _
CType(AccessibilityObject, CurveLegendAccessibleObject).ID)
End If
End If
End Set
End Property
' Gets the Size for the curve legend.
Public ReadOnly Property Size() As Size
Get
Dim legendHeight As Integer = chart.Font.Height + 4
Dim g As Graphics = chart.CreateGraphics()
Dim legendWidth As Integer = CInt(g.MeasureString(Name, chart.Font).Width) + 4
Return New Size(legendWidth, legendHeight)
End Get
End Property
' 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
' 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
End Class
End Class
End Namespace 'ChartControlNameSpace
Kommentarer
Hjälpmedelsprogram kan justera funktioner i programmet för att förbättra användbarheten för användare med funktionshinder.
För användare som är synskadade kan du justera programvaru- och operativsystemfunktioner så att de uppfyller deras behov. Du kan till exempel förstora text och bilder och återge dem med en kontrast. Dessutom kan du hantera färgblindhet med lämplig användning av färger. För användare som är allvarligt synskadade är datorer tillgängliga med skärmgranskningshjälpmedel som översätter text på skärmen till tal eller till en dynamisk, uppdateringsbar punktskriftsvisning.
För användare som är hörselskadade kan du utforma program som använder visuella tips, till exempel ett blinkande verktygsfält. eller så kan du visa talade meddelanden som text. När funktionen SoundSentry, ett hjälpmedelsalternativ i ovládací panel, visas till exempel en visuell varning när systemet gör ett larmljud.
För användare med rörelsevariationer kan du utforma kontroller som förfinar eller eliminerar tangentbords- och musanvändning, vilket förbättrar datorns tillgänglighet. ovládací panel erbjuder hjälp. Ett alternativ är till exempel att använda den numeriska knappsatsen i stället för musen för navigering. Ett annat alternativ, som kallas StickyKeys, gör det möjligt för användare som inte kan hålla ned två eller flera nycklar i taget (till exempel CTRL+P) att få samma resultat genom att skriva en nyckel i taget.
För användare med kognitiva och språkvariationer kan du utforma program för att bättre tillgodose deras behov. Till exempel kan användning av iögonfallande eller cued sekvensering, okomplicerade skärmar, färre ord och en läsnivå som är riktad mot grundskolestandarder gynna dessa användare.
För användare med anfallssjukdomar kan du utforma program för att eliminera anfallsframkallande mönster.
Mer information om hjälpmedel, inklusive information om hjälpmedelsprogram, finns i Windows Hjälpmedelsfunktioner.
Note
Om du vill använda AccessibleObject måste du lägga till en referens till sammansättningen Accessibility som installerats med .NET Framework. Windows Forms stöder endast Active Accessibility 2.0.
Anteckningar till arvingar
När du ärver från den här klassen kan du åsidosätta alla medlemmar.
Konstruktorer
| Name | Description |
|---|---|
| AccessibleObject() |
Initierar en ny instans av AccessibleObject klassen. |
Egenskaper
| Name | Description |
|---|---|
| Bounds |
Hämtar platsen och storleken på det tillgängliga objektet. |
| DefaultAction |
Hämtar en sträng som beskriver standardåtgärden för objektet. Alla objekt har inte en standardåtgärd. |
| Description |
Hämtar en sträng som beskriver det angivna objektets visuella utseende. Alla objekt har inte en beskrivning. |
| Help |
Hämtar en beskrivning av vad objektet gör eller hur objektet används. |
| KeyboardShortcut |
Hämtar genvägsnyckeln eller åtkomstnyckeln för det tillgängliga objektet. |
| Name |
Hämtar eller anger objektnamnet. |
| Parent |
Hämtar överordnat till ett tillgängligt objekt. |
| Role |
Hämtar rollen för det här tillgängliga objektet. |
| State |
Hämtar tillståndet för det här tillgängliga objektet. |
| Value |
Hämtar eller anger värdet för ett tillgängligt objekt. |
Metoder
| Name | Description |
|---|---|
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| DoDefaultAction() |
Utför standardåtgärden som är associerad med det här tillgängliga objektet. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetChild(Int32) |
Hämtar det tillgängliga underordnad som motsvarar det angivna indexet. |
| GetChildCount() |
Hämtar antalet underordnade objekt som tillhör ett tillgängligt objekt. |
| GetFocused() |
Hämtar objektet som har tangentbordsfokus. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetHelpTopic(String) |
Hämtar en identifierare för en hjälpämnesidentifierare och sökvägen till hjälpfilen som är associerad med det här tillgängliga objektet. |
| GetLifetimeService() |
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetSelected() |
Hämtar det markerade underordnade objektet. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| HitTest(Int32, Int32) |
Hämtar det underordnade objektet vid de angivna skärmkoordinaterna. |
| InitializeLifetimeService() |
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| Navigate(AccessibleNavigation) |
Navigerar till ett annat tillgängligt objekt. |
| RaiseAutomationNotification(AutomationNotificationKind, AutomationNotificationProcessing, String) |
Genererar meddelandehändelsen för användargränssnittsautomatisering. |
| RaiseLiveRegionChanged() |
Genererar automationshändelsen LiveRegionChanged UI. |
| Select(AccessibleSelection) |
Ändrar markeringen eller flyttar tangentbordets fokus för det tillgängliga objektet. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| UseStdAccessibleObjects(IntPtr, Int32) |
Associerar ett objekt med en instans av en AccessibleObject baserat på referensen och objekt-ID:t för objektet. |
| UseStdAccessibleObjects(IntPtr) |
Associerar ett objekt med en instans av en AccessibleObject baserat på objektets handtag. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IAccessible.accChildCount |
Hämtar antalet underordnade gränssnitt som tillhör det här objektet. En beskrivning av den här medlemmen finns i accChildCount. |
| IAccessible.accDoDefaultAction(Object) |
Utför det angivna objektets standardåtgärd. Alla objekt har inte en standardåtgärd. En beskrivning av den här medlemmen finns i accDoDefaultAction(Object). |
| IAccessible.accFocus |
Hämtar objektet som har tangentbordsfokus. En beskrivning av den här medlemmen finns i accFocus. |
| IAccessible.accHitTest(Int32, Int32) |
Hämtar det underordnade objektet vid de angivna skärmkoordinaterna. En beskrivning av den här medlemmen finns i accHitTest(Int32, Int32). |
| IAccessible.accLocation(Int32, Int32, Int32, Int32, Object) |
Hämtar objektets aktuella skärmplats. En beskrivning av den här medlemmen finns i accLocation(Int32, Int32, Int32, Int32, Object). |
| IAccessible.accNavigate(Int32, Object) |
Navigerar till ett tillgängligt objekt i förhållande till det aktuella objektet. En beskrivning av den här medlemmen finns i accNavigate(Int32, Object). |
| IAccessible.accParent |
Hämtar objektets överordnade tillgängliga objekt. En beskrivning av den här medlemmen finns i accParent. |
| IAccessible.accSelect(Int32, Object) |
Ändrar markeringen eller flyttar tangentbordets fokus för det tillgängliga objektet. En beskrivning av den här medlemmen finns i accSelect(Int32, Object). |
| IAccessible.accSelection |
Hämtar de markerade underordnade objekten för ett tillgängligt objekt. En beskrivning av den här medlemmen finns i accSelection. |
| IReflect.GetField(String, BindingFlags) |
Hämtar objektet FieldInfo som motsvarar det angivna fältet och bindningsflaggan. En beskrivning av den här medlemmen finns i GetField(String, BindingFlags). |
| IReflect.GetFields(BindingFlags) |
Hämtar en matris med FieldInfo objekt som motsvarar alla fält i den aktuella klassen. En beskrivning av den här medlemmen finns i GetFields(BindingFlags). |
| IReflect.GetMember(String, BindingFlags) |
Hämtar en matris med MemberInfo objekt som motsvarar alla offentliga medlemmar eller till alla medlemmar som matchar ett angivet namn. En beskrivning av den här medlemmen finns i GetMember(String, BindingFlags). |
| IReflect.GetMembers(BindingFlags) |
Hämtar en matris med MemberInfo objekt som motsvarar antingen alla offentliga medlemmar eller alla medlemmar i den aktuella klassen. En beskrivning av den här medlemmen finns i GetMembers(BindingFlags). |
| IReflect.GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[]) |
Hämtar ett MethodInfo objekt som motsvarar en angiven metod med hjälp av en typmatris att välja mellan överlagrade metoder. En beskrivning av den här medlemmen finns i GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[]). |
| IReflect.GetMethod(String, BindingFlags) |
Hämtar ett MethodInfo objekt som motsvarar en angiven metod under angivna sökbegränsningar. En beskrivning av den här medlemmen finns i GetMethod(String, BindingFlags). |
| IReflect.GetMethods(BindingFlags) |
Hämtar en matris MethodInfo med objekt med alla offentliga metoder eller alla metoder i den aktuella klassen. En beskrivning av den här medlemmen finns i GetMethods(BindingFlags). |
| IReflect.GetProperties(BindingFlags) |
Hämtar en matris med PropertyInfo objekt som motsvarar alla offentliga egenskaper eller alla egenskaper för den aktuella klassen. En beskrivning av den här medlemmen finns i GetProperties(BindingFlags). |
| IReflect.GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) |
Hämtar ett PropertyInfo objekt som motsvarar en angiven egenskap med angivna sökbegränsningar. En beskrivning av den här medlemmen finns i GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]). |
| IReflect.GetProperty(String, BindingFlags) |
Hämtar ett PropertyInfo objekt som motsvarar en angiven egenskap under angivna sökbegränsningar. En beskrivning av den här medlemmen finns i GetProperty(String, BindingFlags). |
| IReflect.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) |
Anropar en angiven medlem. En beskrivning av den här medlemmen finns i InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). |
| IReflect.UnderlyingSystemType |
Hämtar den underliggande typen som representerar IReflect objektet. En beskrivning av den här medlemmen finns i UnderlyingSystemType. |