-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Expand file tree
/
Copy pathAccessibleObject.xml
More file actions
2460 lines (2292 loc) · 205 KB
/
AccessibleObject.xml
File metadata and controls
2460 lines (2292 loc) · 205 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<Type Name="AccessibleObject" FullName="System.Windows.Forms.AccessibleObject">
<TypeSignature Language="C#" Value="public class AccessibleObject : System.Runtime.InteropServices.StandardOleMarshalObject, Accessibility.IAccessible, System.Reflection.IReflect" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AccessibleObject extends System.Runtime.InteropServices.StandardOleMarshalObject implements class Accessibility.IAccessible, class System.Reflection.IReflect" />
<TypeSignature Language="DocId" Value="T:System.Windows.Forms.AccessibleObject" />
<TypeSignature Language="VB.NET" Value="Public Class AccessibleObject
Inherits StandardOleMarshalObject
Implements IAccessible, IReflect" />
<TypeSignature Language="F#" Value="type AccessibleObject = class
 inherit StandardOleMarshalObject
 interface IReflect
 interface IAccessible.Interface
 interface IAccessible
 interface IAccessibleEx.Interface
 interface IServiceProvider.Interface
 interface IRawElementProviderSimple.Interface
 interface IRawElementProviderFragment.Interface
 interface IRawElementProviderFragmentRoot.Interface
 interface IInvokeProvider.Interface
 interface IValueProvider.Interface
 interface IRangeValueProvider.Interface
 interface IExpandCollapseProvider.Interface
 interface IToggleProvider.Interface
 interface ITableProvider.Interface
 interface ITableItemProvider.Interface
 interface IGridProvider.Interface
 interface IGridItemProvider.Interface
 interface IEnumVARIANT.Interface
 interface IOleWindow.Interface
 interface ILegacyIAccessibleProvider.Interface
 interface ISelectionProvider.Interface
 interface ISelectionItemProvider.Interface
 interface IRawElementProviderHwndOverride.Interface
 interface IScrollItemProvider.Interface
 interface IMultipleViewProvider.Interface
 interface ITextProvider.Interface
 interface ITextProvider2.Interface
 interface IDispatch.Interface
 interface IDispatchEx.Interface" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0" />
<TypeSignature Language="C++ CLI" Value="public ref class AccessibleObject : System::Runtime::InteropServices::StandardOleMarshalObject, Accessibility::IAccessible, System::Reflection::IReflect" />
<TypeSignature Language="F#" Value="type AccessibleObject = class
 inherit StandardOleMarshalObject
 interface IReflect
 interface IAccessible
 interface UnsafeNativeMethods.IAccessibleEx
 interface UnsafeNativeMethods.IServiceProvider
 interface UnsafeNativeMethods.IRawElementProviderSimple
 interface UnsafeNativeMethods.IRawElementProviderFragment
 interface UnsafeNativeMethods.IRawElementProviderFragmentRoot
 interface UnsafeNativeMethods.IInvokeProvider
 interface UnsafeNativeMethods.IValueProvider
 interface UnsafeNativeMethods.IRangeValueProvider
 interface UnsafeNativeMethods.IExpandCollapseProvider
 interface UnsafeNativeMethods.IToggleProvider
 interface UnsafeNativeMethods.ITableProvider
 interface UnsafeNativeMethods.ITableItemProvider
 interface UnsafeNativeMethods.IGridProvider
 interface UnsafeNativeMethods.IGridItemProvider
 interface UnsafeNativeMethods.IEnumVariant
 interface UnsafeNativeMethods.IOleWindow
 interface UnsafeNativeMethods.ILegacyIAccessibleProvider
 interface UnsafeNativeMethods.ISelectionProvider
 interface UnsafeNativeMethods.ISelectionItemProvider
 interface UnsafeNativeMethods.IRawElementProviderHwndOverride
 interface UnsafeNativeMethods.IScrollItemProvider" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<TypeSignature Language="F#" Value="type AccessibleObject = class
 inherit StandardOleMarshalObject
 interface IReflect
 interface IAccessible
 interface Interop.UiaCore.IAccessibleEx
 interface Interop.Ole32.IServiceProvider
 interface Interop.UiaCore.IRawElementProviderSimple
 interface Interop.UiaCore.IRawElementProviderFragment
 interface Interop.UiaCore.IRawElementProviderFragmentRoot
 interface Interop.UiaCore.IInvokeProvider
 interface Interop.UiaCore.IValueProvider
 interface Interop.UiaCore.IRangeValueProvider
 interface Interop.UiaCore.IExpandCollapseProvider
 interface Interop.UiaCore.IToggleProvider
 interface Interop.UiaCore.ITableProvider
 interface Interop.UiaCore.ITableItemProvider
 interface Interop.UiaCore.IGridProvider
 interface Interop.UiaCore.IGridItemProvider
 interface Interop.Oleaut32.IEnumVariant
 interface Interop.Ole32.IOleWindow
 interface Interop.UiaCore.ILegacyIAccessibleProvider
 interface Interop.UiaCore.ISelectionProvider
 interface Interop.UiaCore.ISelectionItemProvider
 interface Interop.UiaCore.IRawElementProviderHwndOverride
 interface Interop.UiaCore.IScrollItemProvider
 interface Interop.UiaCore.IMultipleViewProvider
 interface Interop.UiaCore.ITextProvider
 interface Interop.UiaCore.ITextProvider2" FrameworkAlternate="windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<TypeSignature Language="F#" Value="type AccessibleObject = class
 inherit StandardOleMarshalObject
 interface IReflect
 interface IAccessible
 interface Interop.UiaCore.IAccessibleEx
 interface IServiceProvider.Interface
 interface Interop.UiaCore.IRawElementProviderSimple
 interface Interop.UiaCore.IRawElementProviderFragment
 interface Interop.UiaCore.IRawElementProviderFragmentRoot
 interface Interop.UiaCore.IInvokeProvider
 interface Interop.UiaCore.IValueProvider
 interface Interop.UiaCore.IRangeValueProvider
 interface Interop.UiaCore.IExpandCollapseProvider
 interface Interop.UiaCore.IToggleProvider
 interface Interop.UiaCore.ITableProvider
 interface Interop.UiaCore.ITableItemProvider
 interface Interop.UiaCore.IGridProvider
 interface Interop.UiaCore.IGridItemProvider
 interface IEnumVARIANT.Interface
 interface IOleWindow.Interface
 interface Interop.UiaCore.ILegacyIAccessibleProvider
 interface Interop.UiaCore.ISelectionProvider
 interface Interop.UiaCore.ISelectionItemProvider
 interface Interop.UiaCore.IRawElementProviderHwndOverride
 interface Interop.UiaCore.IScrollItemProvider
 interface Interop.UiaCore.IMultipleViewProvider
 interface Interop.UiaCore.ITextProvider
 interface Interop.UiaCore.ITextProvider2" FrameworkAlternate="windowsdesktop-8.0" />
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Runtime.InteropServices.StandardOleMarshalObject</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>Accessibility.IAccessible</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.Reflection.IReflect</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1">
<AttributeName Language="C#">[System.Runtime.InteropServices.ComVisible(true)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.InteropServices.ComVisible(true)>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="windowsdesktop-8.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(0)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(0)>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides information that accessibility applications use to adjust an application's user interface (UI) for users with impairments.</summary>
<remarks>
<format type="text/markdown"><.
> [!NOTE]
> To use the <xref:System.Windows.Forms.AccessibleObject>, you must add a reference to the `Accessibility` assembly installed with the .NET Framework. Windows Forms only supports Active Accessibility 2.0.
## Examples
The following code example demonstrates the creation of an accessibility-aware chart control, using the <xref:System.Windows.Forms.AccessibleObject> and <xref:System.Windows.Forms.Control.ControlAccessibleObject> classes to expose accessible information. The control plots two curves along with a legend. The `ChartControlAccessibleObject` class, which derives from `ControlAccessibleObject`, is used in the <xref:System.Windows.Forms.Control.CreateAccessibilityInstance*> method to provide custom accessible information for the chart control. Because the chart legend is not an actual <xref:System.Windows.Forms.Control> -based control, but instead is drawn by the chart control, it does not have any built-in accessible information. Because of this, the `ChartControlAccessibleObject` class overrides the <xref:System.Windows.Forms.AccessibleObject.GetChild*> method to return the `CurveLegendAccessibleObject` that represents accessible information for each part of the legend. When an accessible-aware application uses this control, the control can provide the necessary accessible information.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.AccessibleObject/CPP/chartcontrol.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.vb" id="Snippet1":::
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When you inherit from this class, you can override all the members.</para>
</block>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public AccessibleObject ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 AccessibleObject();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Windows.Forms.AccessibleObject" /> class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Typically, when you use this method to create an accessible object, you are providing your own implementations of the properties and methods of the class to provide functionality specific to your application.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accChildCount">
<MemberSignature Language="C#" Value="int Accessibility.IAccessible.accChildCount { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 Accessibility.IAccessible.accChildCount" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accChildCount" />
<MemberSignature Language="VB.NET" Value=" ReadOnly Property accChildCount As Integer Implements IAccessible.accChildCount" />
<MemberSignature Language="F#" Value="member this.Accessibility.IAccessible.accChildCount : int" Usage="Accessibility.IAccessible.accChildCount" />
<MemberSignature Language="C++ CLI" Value="property int Accessibility::IAccessible::accChildCount { int get(); };" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:Accessibility.IAccessible.accChildCount</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the number of child interfaces that belong to this object. For a description of this member, see <see cref="P:Accessibility.IAccessible.accChildCount" />.</summary>
<value>The number of child accessible objects that belong to this object. If the object has no child objects, this value is 0.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accDoDefaultAction">
<MemberSignature Language="C#" Value="void IAccessible.accDoDefaultAction (object childID);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Accessibility.IAccessible.accDoDefaultAction(object childID) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accDoDefaultAction(System.Object)" />
<MemberSignature Language="VB.NET" Value="Sub accDoDefaultAction (childID As Object) Implements IAccessible.accDoDefaultAction" />
<MemberSignature Language="F#" Value="abstract member Accessibility.IAccessible.accDoDefaultAction : obj -> unit
override this.Accessibility.IAccessible.accDoDefaultAction : obj -> unit" Usage="accessibleObject.Accessibility.IAccessible.accDoDefaultAction childID" />
<MemberSignature Language="C++ CLI" Value=" virtual void Accessibility.IAccessible.accDoDefaultAction(System::Object ^ childID) = Accessibility::IAccessible::accDoDefaultAction;" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Accessibility.IAccessible.accDoDefaultAction(System.Object)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="childID" Type="System.Object" />
</Parameters>
<Docs>
<param name="childID">The child ID in the <see cref="T:Accessibility.IAccessible" /> interface/child ID pair that represents the accessible object.</param>
<summary>Performs the specified object's default action. Not all objects have a default action. For a description of this member, see <see cref="M:Accessibility.IAccessible.accDoDefaultAction(System.Object)" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accFocus">
<MemberSignature Language="C#" Value="object? Accessibility.IAccessible.accFocus { get; }" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".property instance object Accessibility.IAccessible.accFocus" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accFocus" />
<MemberSignature Language="VB.NET" Value=" ReadOnly Property accFocus As Object Implements IAccessible.accFocus" />
<MemberSignature Language="F#" Value="member this.Accessibility.IAccessible.accFocus : obj" Usage="Accessibility.IAccessible.accFocus" />
<MemberSignature Language="C++ CLI" Value="property System::Object ^ Accessibility::IAccessible::accFocus { System::Object ^ get(); };" />
<MemberSignature Language="C#" Value="object Accessibility.IAccessible.accFocus { get; }" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:Accessibility.IAccessible.accFocus</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the object that has the keyboard focus. For a description of this member, see <see cref="P:Accessibility.IAccessible.accFocus" />.</summary>
<value>The object that has keyboard focus.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The return value type of the <xref:System.Windows.Forms.AccessibleObject.Accessibility%23IAccessible%23accFocus> property depends on the object that has keyboard focus. The following table describes the object types that the <xref:System.Windows.Forms.AccessibleObject.Accessibility%23IAccessible%23accFocus> property returns.
|Type|Description|
|----------|-----------------|
|`null`|This object does not have the keyboard focus itself and does not contain a child that has the keyboard focus.|
|integer|0 if the current object has keyboard focus; otherwise, the child ID of the child accessible object with keyboard focus.|
|<xref:Accessibility.IAccessible>|The child accessible object that has the keyboard focus.|
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accHitTest">
<MemberSignature Language="C#" Value="object? IAccessible.accHitTest (int xLeft, int yTop);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance object Accessibility.IAccessible.accHitTest(int32 xLeft, int32 yTop) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accHitTest(System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Function accHitTest (xLeft As Integer, yTop As Integer) As Object Implements IAccessible.accHitTest" />
<MemberSignature Language="F#" Value="abstract member Accessibility.IAccessible.accHitTest : int * int -> obj
override this.Accessibility.IAccessible.accHitTest : int * int -> obj" Usage="accessibleObject.Accessibility.IAccessible.accHitTest (xLeft, yTop)" />
<MemberSignature Language="C++ CLI" Value=" virtual System::Object ^ Accessibility.IAccessible.accHitTest(int xLeft, int yTop) = Accessibility::IAccessible::accHitTest;" />
<MemberSignature Language="C#" Value="object IAccessible.accHitTest (int xLeft, int yTop);" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Accessibility.IAccessible.accHitTest(System.Int32,System.Int32)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="xLeft" Type="System.Int32" />
<Parameter Name="yTop" Type="System.Int32" />
</Parameters>
<Docs>
<param name="xLeft">The horizontal coordinate.</param>
<param name="yTop">The vertical coordinate.</param>
<summary>Gets the child object at the specified screen coordinates. For a description of this member, see <see cref="M:Accessibility.IAccessible.accHitTest(System.Int32,System.Int32)" />.</summary>
<returns>The accessible object at the point specified by <paramref name="xLeft" /> and <paramref name="yTop" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The following table describes the object types that the <xref:System.Windows.Forms.AccessibleObject.Accessibility%23IAccessible%23accHitTest*> method can return.
|Type|Description|
|----------|-----------------|
|<xref:Accessibility.IAccessible>|The accessible object at the specified direction.|
|integer|0 if the point specified is either the current object or outside the object's boundaries; otherwise, the child ID that identifies the accessible object at the specified direction.|
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accLocation">
<MemberSignature Language="C#" Value="void IAccessible.accLocation (out int pxLeft, out int pyTop, out int pcxWidth, out int pcyHeight, object childID);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Accessibility.IAccessible.accLocation([out] int32& pxLeft, [out] int32& pyTop, [out] int32& pcxWidth, [out] int32& pcyHeight, object childID) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accLocation(System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Object)" />
<MemberSignature Language="VB.NET" Value="Sub accLocation (ByRef pxLeft As Integer, ByRef pyTop As Integer, ByRef pcxWidth As Integer, ByRef pcyHeight As Integer, childID As Object) Implements IAccessible.accLocation" />
<MemberSignature Language="F#" Value="abstract member Accessibility.IAccessible.accLocation : int * int * int * int * obj -> unit
override this.Accessibility.IAccessible.accLocation : int * int * int * int * obj -> unit" Usage="accessibleObject.Accessibility.IAccessible.accLocation (pxLeft, pyTop, pcxWidth, pcyHeight, childID)" />
<MemberSignature Language="C++ CLI" Value=" virtual void Accessibility.IAccessible.accLocation([Runtime::InteropServices::Out] int % pxLeft, [Runtime::InteropServices::Out] int % pyTop, [Runtime::InteropServices::Out] int % pcxWidth, [Runtime::InteropServices::Out] int % pcyHeight, System::Object ^ childID) = Accessibility::IAccessible::accLocation;" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Accessibility.IAccessible.accLocation(System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Object)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="pxLeft" Type="System.Int32" RefType="out" />
<Parameter Name="pyTop" Type="System.Int32" RefType="out" />
<Parameter Name="pcxWidth" Type="System.Int32" RefType="out" />
<Parameter Name="pcyHeight" Type="System.Int32" RefType="out" />
<Parameter Name="childID" Type="System.Object" />
</Parameters>
<Docs>
<param name="pxLeft">When this method returns, contains the x-coordinate of the object's left edge. This parameter is passed uninitialized.</param>
<param name="pyTop">When this method returns, contains the y-coordinate of the object's top edge. This parameter is passed uninitialized.</param>
<param name="pcxWidth">When this method returns, contains the width of the object. This parameter is passed uninitialized.</param>
<param name="pcyHeight">When this method returns, contains the height of the object. This parameter is passed uninitialized.</param>
<param name="childID">The ID number of the accessible object. This parameter is 0 to get the location of the object, or a child ID to get the location of one of the object's child objects.</param>
<summary>Gets the object's current screen location. For a description of this member, see <see cref="M:Accessibility.IAccessible.accLocation(System.Int32@,System.Int32@,System.Int32@,System.Int32@,System.Object)" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accNavigate">
<MemberSignature Language="C#" Value="object? IAccessible.accNavigate (int navDir, object childID);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance object Accessibility.IAccessible.accNavigate(int32 navDir, object childID) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accNavigate(System.Int32,System.Object)" />
<MemberSignature Language="VB.NET" Value="Function accNavigate (navDir As Integer, childID As Object) As Object Implements IAccessible.accNavigate" />
<MemberSignature Language="F#" Value="abstract member Accessibility.IAccessible.accNavigate : int * obj -> obj
override this.Accessibility.IAccessible.accNavigate : int * obj -> obj" Usage="accessibleObject.Accessibility.IAccessible.accNavigate (navDir, childID)" />
<MemberSignature Language="C++ CLI" Value=" virtual System::Object ^ Accessibility.IAccessible.accNavigate(int navDir, System::Object ^ childID) = Accessibility::IAccessible::accNavigate;" />
<MemberSignature Language="C#" Value="object IAccessible.accNavigate (int navDir, object childID);" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Accessibility.IAccessible.accNavigate(System.Int32,System.Object)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
</ReturnValue>
<Parameters>
<Parameter Name="navDir" Type="System.Int32" />
<Parameter Name="childID" Type="System.Object" />
</Parameters>
<Docs>
<param name="navDir">One of the <see cref="T:System.Windows.Forms.AccessibleNavigation" /> enumerations that specifies the direction to navigate.</param>
<param name="childID">The ID number of the accessible object. This parameter is 0 to start from the object, or a child ID to start from one of the object's child objects.</param>
<summary>Navigates to an accessible object relative to the current object. For a description of this member, see <see cref="M:Accessibility.IAccessible.accNavigate(System.Int32,System.Object)" />.</summary>
<returns>The accessible object positioned at the value specified by <paramref name="navDir" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The following table describes the object types that the <xref:System.Windows.Forms.AccessibleObject.Accessibility%23IAccessible%23accNavigate*> method can return.
|Type|Description|
|----------|-----------------|
|`null`|There is not an accessible object at the specified direction.|
|<xref:Accessibility.IAccessible>|The accessible object at the specified direction.|
|integer|The child ID that identifies the accessible object at the specified direction. Use the parent <xref:Accessibility.IAccessible> and the child ID to access the accessible object.|
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accParent">
<MemberSignature Language="C#" Value="object? Accessibility.IAccessible.accParent { get; }" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".property instance object Accessibility.IAccessible.accParent" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accParent" />
<MemberSignature Language="VB.NET" Value=" ReadOnly Property accParent As Object Implements IAccessible.accParent" />
<MemberSignature Language="F#" Value="member this.Accessibility.IAccessible.accParent : obj" Usage="Accessibility.IAccessible.accParent" />
<MemberSignature Language="C++ CLI" Value="property System::Object ^ Accessibility::IAccessible::accParent { System::Object ^ get(); };" />
<MemberSignature Language="C#" Value="object Accessibility.IAccessible.accParent { get; }" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:Accessibility.IAccessible.accParent</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the parent accessible object of this object. For a description of this member, see <see cref="P:Accessibility.IAccessible.accParent" />.</summary>
<value>An <see cref="T:Accessibility.IAccessible" /> that represents the parent of the accessible object, or <see langword="null" /> if there is no parent object.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accSelect">
<MemberSignature Language="C#" Value="void IAccessible.accSelect (int flagsSelect, object childID);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Accessibility.IAccessible.accSelect(int32 flagsSelect, object childID) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accSelect(System.Int32,System.Object)" />
<MemberSignature Language="VB.NET" Value="Sub accSelect (flagsSelect As Integer, childID As Object) Implements IAccessible.accSelect" />
<MemberSignature Language="F#" Value="abstract member Accessibility.IAccessible.accSelect : int * obj -> unit
override this.Accessibility.IAccessible.accSelect : int * obj -> unit" Usage="accessibleObject.Accessibility.IAccessible.accSelect (flagsSelect, childID)" />
<MemberSignature Language="C++ CLI" Value=" virtual void Accessibility.IAccessible.accSelect(int flagsSelect, System::Object ^ childID) = Accessibility::IAccessible::accSelect;" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:Accessibility.IAccessible.accSelect(System.Int32,System.Object)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="flagsSelect" Type="System.Int32" />
<Parameter Name="childID" Type="System.Object" />
</Parameters>
<Docs>
<param name="flagsSelect">A bitwise combination of the <see cref="T:System.Windows.Forms.AccessibleSelection" /> values.</param>
<param name="childID">The ID number of the accessible object on which to change the selection. This parameter is 0 to select the object, or a child ID to select one of the object's child objects.</param>
<summary>Modifies the selection or moves the keyboard focus of the accessible object. For a description of this member, see <see cref="M:Accessibility.IAccessible.accSelect(System.Int32,System.Object)" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The following describes which <xref:System.Windows.Forms.AccessibleSelection> values to specify when calling `Select` to perform complex selection operations.
|Operation|Flag Combination|
|---------------|----------------------|
|To simulate a click|<xref:System.Windows.Forms.AccessibleSelection.TakeFocus> OR <xref:System.Windows.Forms.AccessibleSelection.TakeSelection>|
|To select a target item by simulating CTRL+click|<xref:System.Windows.Forms.AccessibleSelection.TakeFocus> OR <xref:System.Windows.Forms.AccessibleSelection.AddSelection>|
|To cancel selection of a target item by simulating CTRL+click|<xref:System.Windows.Forms.AccessibleSelection.TakeFocus> OR <xref:System.Windows.Forms.AccessibleSelection.RemoveSelection>|
|To simulate SHIFT+click|<xref:System.Windows.Forms.AccessibleSelection.TakeFocus> OR <xref:System.Windows.Forms.AccessibleSelection.ExtendSelection>|
|To select a range of objects and put focus on the last object|Specify <xref:System.Windows.Forms.AccessibleSelection.TakeFocus> on the starting object to set the selection anchor. Then call Select again and specify <xref:System.Windows.Forms.AccessibleSelection.TakeFocus> OR <xref:System.Windows.Forms.AccessibleSelection.ExtendSelection> on the last object.|
|To deselect all objects|Specify <xref:System.Windows.Forms.AccessibleSelection.TakeSelection> on any object. This flag deselects all selected objects except the one just selected. Then call Select again and specify <xref:System.Windows.Forms.AccessibleSelection.RemoveSelection> on the same object.|
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Accessibility.IAccessible.accSelection">
<MemberSignature Language="C#" Value="object? Accessibility.IAccessible.accSelection { get; }" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".property instance object Accessibility.IAccessible.accSelection" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.Accessibility#IAccessible#accSelection" />
<MemberSignature Language="VB.NET" Value=" ReadOnly Property accSelection As Object Implements IAccessible.accSelection" />
<MemberSignature Language="F#" Value="member this.Accessibility.IAccessible.accSelection : obj" Usage="Accessibility.IAccessible.accSelection" />
<MemberSignature Language="C++ CLI" Value="property System::Object ^ Accessibility::IAccessible::accSelection { System::Object ^ get(); };" />
<MemberSignature Language="C#" Value="object Accessibility.IAccessible.accSelection { get; }" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:Accessibility.IAccessible.accSelection</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the selected child objects of an accessible object. For a description of this member, see <see cref="P:Accessibility.IAccessible.accSelection" />.</summary>
<value>The selected child objects of an accessible object.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The following table describes the object types that the <xref:System.Windows.Forms.AccessibleObject.Accessibility%23IAccessible%23accSelection> property returns
|Type|Description|
|----------|-----------------|
|`null`|No child objects are selected.|
|<xref:Accessibility.IAccessible>|The child accessible object that is selected.|
|integer|The child ID that identifies the accessible object that is selected. Use the parent <xref:Accessibility.IAccessible> and the child ID to access the accessible object.|
|`IEnumVARIANT`|A list of child objects that are selected.|
This member is an explicit interface member implementation. It can be used only when the <xref:System.Windows.Forms.AccessibleObject> instance is cast to an <xref:Accessibility.IAccessible> interface.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Bounds">
<MemberSignature Language="C#" Value="public virtual System.Drawing.Rectangle Bounds { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Drawing.Rectangle Bounds" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.Bounds" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property Bounds As Rectangle" />
<MemberSignature Language="F#" Value="member this.Bounds : System.Drawing.Rectangle" Usage="System.Windows.Forms.AccessibleObject.Bounds" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual property System::Drawing::Rectangle Bounds { System::Drawing::Rectangle get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Drawing.Rectangle</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the location and size of the accessible object.</summary>
<value>A <see cref="T:System.Drawing.Rectangle" /> that represents the bounds of the accessible object.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.AccessibleObject.Bounds> property retrieves the object's bounding rectangle in screen coordinates. If the object has a nonrectangular shape, then this property represents the smallest rectangle that completely encompasses the entire object region. Therefore, for nonrectangular objects such as list view items, the coordinates of the object's bounding rectangle can fail, if tested, by calling the <xref:System.Windows.Forms.AccessibleObject.HitTest*> method, because <xref:System.Windows.Forms.AccessibleObject.HitTest*> determines the object's boundaries on a pixel-by-pixel basis.
## Examples
The following example demonstrates the creation of an accessibility-aware chart control, using the <xref:System.Windows.Forms.AccessibleObject> and <xref:System.Windows.Forms.Control.ControlAccessibleObject> classes to expose accessible information. The control plots two curves along with a legend. The `ChartControlAccessibleObject` class, which derives from `ControlAccessibleObject`, is used in the <xref:System.Windows.Forms.Control.CreateAccessibilityInstance*> method to provide custom accessible information for the chart control. Since the chart legend is not an actual <xref:System.Windows.Forms.Control> -based control, but instead is drawn by the chart control, it does not have any built-in accessible information. Because of this, the `ChartControlAccessibleObject` class overrides the <xref:System.Windows.Forms.AccessibleObject.GetChild*> method to return the `CurveLegendAccessibleObject` that represents accessible information for each part of the legend. When an accessible-aware application uses this control, the control can provide the necessary accessible information.
This code excerpt demonstrates overriding the <xref:System.Windows.Forms.AccessibleObject.Bounds> property. See the <xref:System.Windows.Forms.AccessibleObject> class overview for the complete code example.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.AccessibleObject/CPP/chartcontrol.cpp" id="Snippet6":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.cs" id="Snippet6":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.vb" id="Snippet6":::
]]></format>
</remarks>
<exception cref="T:System.Runtime.InteropServices.COMException">The bounds of control cannot be retrieved.</exception>
<block subset="none" type="overrides">
<para>The default implementation returns the accessible object's bounding rectangle if the object wraps a system control; otherwise, it returns <see cref="F:System.Drawing.Rectangle.Empty" />. All visible accessible objects must support this method. Sound objects do not support this method.</para>
</block>
<altmember cref="P:System.Windows.Forms.AccessibleObject.DefaultAction" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Description" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Help" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.KeyboardShortcut" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Name" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Parent" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Role" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.State" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Value" />
</Docs>
</Member>
<Member MemberName="DefaultAction">
<MemberSignature Language="C#" Value="public virtual string? DefaultAction { get; }" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".property instance string DefaultAction" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.DefaultAction" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property DefaultAction As String" />
<MemberSignature Language="F#" Value="member this.DefaultAction : string" Usage="System.Windows.Forms.AccessibleObject.DefaultAction" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual property System::String ^ DefaultAction { System::String ^ get(); };" />
<MemberSignature Language="C#" Value="public virtual string DefaultAction { get; }" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a string that describes the default action of the object. Not all objects have a default action.</summary>
<value>A description of the default action for an object, or <see langword="null" /> if this object has no default action.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The string describes the action that is performed on an object, not what the object does as a result. That is, a toolbar button that prints a document has a default action of "Press" rather than "Prints the current document." Do not confuse an object's default action with its value.
]]></format>
</remarks>
<exception cref="T:System.Runtime.InteropServices.COMException">The default action for the control cannot be retrieved.</exception>
<block subset="none" type="overrides">
<para>The default implementation returns the accessible object's default action if the object wraps a system control that has a default action; otherwise, it returns <see langword="null" />. Only controls that perform actions should support this method. Not all objects have default actions, and some objects might have a default action that is related to its <see cref="P:System.Windows.Forms.AccessibleObject.Value" /> property, such as in the following examples: A selected check box has a default action of "Uncheck" and a value of "Checked." A cleared check box has a default action of "Check" and a value of "Unchecked." A button labeled "Print" has a default action of "Press," with no value. A static text control or an edit control that shows "Printer" has no default action, but would have a value of "Printer." An object's <see cref="P:System.Windows.Forms.AccessibleObject.DefaultAction" /> property should be a verb or a short verb phrase.</para>
</block>
<altmember cref="P:System.Windows.Forms.AccessibleObject.Bounds" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Description" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Help" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.KeyboardShortcut" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Name" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Parent" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Role" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.State" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Value" />
</Docs>
</Member>
<Member MemberName="Description">
<MemberSignature Language="C#" Value="public virtual string? Description { get; }" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".property instance string Description" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.Description" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property Description As String" />
<MemberSignature Language="F#" Value="member this.Description : string" Usage="System.Windows.Forms.AccessibleObject.Description" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual property System::String ^ Description { System::String ^ get(); };" />
<MemberSignature Language="C#" Value="public virtual string Description { get; }" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a string that describes the visual appearance of the specified object. Not all objects have a description.</summary>
<value>A description of the object's visual appearance to the user, or <see langword="null" /> if the object does not have a description.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property describes the object's visual appearance to the user.
]]></format>
</remarks>
<exception cref="T:System.Runtime.InteropServices.COMException">The description for the control cannot be retrieved.</exception>
<block subset="none" type="overrides">
<para>The default implementation returns the accessible object's description if the object wraps a system control; otherwise, it returns <see langword="null" />. The description is typically used to provide greater context for low-vision or blind users. It can also be used for context searching or other applications. Servers need to support the <see cref="P:System.Windows.Forms.AccessibleObject.Description" /> property if the description is not obvious, or if it is redundant based on the object's <see cref="P:System.Windows.Forms.AccessibleObject.Name" />, <see cref="P:System.Windows.Forms.AccessibleObject.Role" />, <see cref="P:System.Windows.Forms.AccessibleObject.State" />, and <see cref="P:System.Windows.Forms.AccessibleObject.Value" /> properties. For example, a button with "OK" does not need additional information, but a button that shows a picture of a cactus would. The <see cref="P:System.Windows.Forms.AccessibleObject.Name" />, <see cref="P:System.Windows.Forms.AccessibleObject.Role" />, and perhaps <see cref="P:System.Windows.Forms.AccessibleObject.Help" /> properties for the cactus button describe its purpose, but the <see cref="P:System.Windows.Forms.AccessibleObject.Description" /> property conveys information that is less tangible, like "A button that shows a picture of a cactus".</para>
</block>
<altmember cref="P:System.Windows.Forms.AccessibleObject.Bounds" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.DefaultAction" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Help" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.KeyboardShortcut" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Name" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Parent" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Role" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.State" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Value" />
</Docs>
</Member>
<Member MemberName="DoDefaultAction">
<MemberSignature Language="C#" Value="public virtual void DoDefaultAction ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void DoDefaultAction() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.DoDefaultAction" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub DoDefaultAction ()" />
<MemberSignature Language="F#" Value="abstract member DoDefaultAction : unit -> unit
override this.DoDefaultAction : unit -> unit" Usage="accessibleObject.DoDefaultAction " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void DoDefaultAction();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Performs the default action associated with this accessible object.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Clients can retrieve the object's default action by inspecting an object's <xref:System.Windows.Forms.AccessibleObject.DefaultAction> property. A client can use automation (if supported) instead of <xref:System.Windows.Forms.AccessibleObject.DoDefaultAction*> to perform an object's default action. However, <xref:System.Windows.Forms.AccessibleObject.DoDefaultAction*> provides an easy way to perform an object's most commonly used action.
]]></format>
</remarks>
<exception cref="T:System.Runtime.InteropServices.COMException">The default action for the control cannot be performed.</exception>
<block subset="none" type="overrides">
<para>The default action performed by system-provided user interface elements depends on the keyboard state. That is, if a modifier key such as SHIFT, ALT, or CTRL is down (either by a user action or programmatically) when <see cref="M:System.Windows.Forms.AccessibleObject.DoDefaultAction" /> is called, the default action might not be the same as when those keys are not down. Not all objects have a default action.</para>
</block>
</Docs>
</Member>
<Member MemberName="GetChild">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.AccessibleObject? GetChild (int index);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.AccessibleObject GetChild(int32 index) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.GetChild(System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetChild (index As Integer) As AccessibleObject" />
<MemberSignature Language="F#" Value="abstract member GetChild : int -> System.Windows.Forms.AccessibleObject
override this.GetChild : int -> System.Windows.Forms.AccessibleObject" Usage="accessibleObject.GetChild index" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::AccessibleObject ^ GetChild(int index);" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.AccessibleObject GetChild (int index);" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Forms.AccessibleObject</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="index" Type="System.Int32" />
</Parameters>
<Docs>
<param name="index">The zero-based index of the accessible child.</param>
<summary>Retrieves the accessible child corresponding to the specified index.</summary>
<returns>An <see cref="T:System.Windows.Forms.AccessibleObject" /> that represents the accessible child corresponding to the specified index.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following example demonstrates the creation of an accessibility-aware chart control, using the <xref:System.Windows.Forms.AccessibleObject> and <xref:System.Windows.Forms.Control.ControlAccessibleObject> classes to expose accessible information. The control plots two curves along with a legend. The `ChartControlAccessibleObject` class, which derives from `ControlAccessibleObject`, is used in the <xref:System.Windows.Forms.Control.CreateAccessibilityInstance*> method to provide custom accessible information for the chart control. Since the chart legend is not an actual <xref:System.Windows.Forms.Control> -based control, but instead is drawn by the chart control, it does not have any built-in accessible information. Because of this, the `ChartControlAccessibleObject` class overrides the <xref:System.Windows.Forms.AccessibleObject.GetChild*> method to return the `CurveLegendAccessibleObject` that represents accessible information for each part of the legend. When an accessible-aware application uses this control, the control can provide the necessary accessible information.
This code excerpt demonstrates overriding the <xref:System.Windows.Forms.AccessibleObject.GetChild*> method. See the <xref:System.Windows.Forms.AccessibleObject> class overview for the complete code example.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.AccessibleObject/CPP/chartcontrol.cpp" id="Snippet4":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.cs" id="Snippet4":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.vb" id="Snippet4":::
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>All accessible objects must support this property. If the method is not overridden, it returns <see langword="null" />. Override this method when an accessible object needs to provide custom accessible children. If the index is invalid, then this method should return <see langword="null" />. When you override this method, you must also override <see cref="M:System.Windows.Forms.AccessibleObject.GetChildCount" />.</para>
</block>
</Docs>
</Member>
<Member MemberName="GetChildCount">
<MemberSignature Language="C#" Value="public virtual int GetChildCount ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 GetChildCount() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.GetChildCount" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetChildCount () As Integer" />
<MemberSignature Language="F#" Value="abstract member GetChildCount : unit -> int
override this.GetChildCount : unit -> int" Usage="accessibleObject.GetChildCount " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual int GetChildCount();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Retrieves the number of children belonging to an accessible object.</summary>
<returns>The number of children belonging to an accessible object.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following example demonstrates the creation of an accessibility-aware chart control, using the <xref:System.Windows.Forms.AccessibleObject> and <xref:System.Windows.Forms.Control.ControlAccessibleObject> classes to expose accessible information. The control plots two curves along with a legend. The `ChartControlAccessibleObject` class, which derives from `ControlAccessibleObject`, is used in the <xref:System.Windows.Forms.Control.CreateAccessibilityInstance*> method to provide custom accessible information for the chart control. Since the chart legend is not an actual <xref:System.Windows.Forms.Control> -based control, but instead is drawn by the chart control, it does not have any built-in accessible information. Because of this, the `ChartControlAccessibleObject` class overrides the <xref:System.Windows.Forms.AccessibleObject.GetChild*> method to return the `CurveLegendAccessibleObject` that represents accessible information for each part of the legend. When an accessible-aware application uses this control, the control can provide the necessary accessible information.
This code demonstrates shows overriding the <xref:System.Windows.Forms.AccessibleObject.GetChildCount*> method. See the <xref:System.Windows.Forms.AccessibleObject> class overview for the complete code example.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.AccessibleObject/CPP/chartcontrol.cpp" id="Snippet4":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.cs" id="Snippet4":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/AccessibleEvents/Overview/chartcontrol.vb" id="Snippet4":::
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>All objects must support this property. The default implementation returns -1. Override this method when an accessible object needs to provide custom accessible children. When you override this method, you must also override <see cref="M:System.Windows.Forms.AccessibleObject.GetChild(System.Int32)" />.</para>
</block>
</Docs>
</Member>
<Member MemberName="GetFocused">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.AccessibleObject? GetFocused ();" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.AccessibleObject GetFocused() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.GetFocused" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetFocused () As AccessibleObject" />
<MemberSignature Language="F#" Value="abstract member GetFocused : unit -> System.Windows.Forms.AccessibleObject
override this.GetFocused : unit -> System.Windows.Forms.AccessibleObject" Usage="accessibleObject.GetFocused " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::AccessibleObject ^ GetFocused();" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.AccessibleObject GetFocused ();" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Forms.AccessibleObject</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Retrieves the object that has the keyboard focus.</summary>
<returns>An <see cref="T:System.Windows.Forms.AccessibleObject" /> that specifies the currently focused child. This method returns the calling object if the object itself is focused. Returns <see langword="null" /> if no object has focus.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The concept of keyboard focus is related to that of an active window. An active window is the foreground window in which the user is working. The object with the keyboard focus is either the active window or a child object of the active window.
Only one object or item within a container can have the focus at any one time. The object with the keyboard focus is not necessarily the selected object.
]]></format>
</remarks>
<exception cref="T:System.Runtime.InteropServices.COMException">The control cannot be retrieved.</exception>
<block subset="none" type="overrides">
<para>All objects that can receive the keyboard focus must support this property.</para>
</block>
<altmember cref="M:System.Windows.Forms.AccessibleObject.GetChild(System.Int32)" />
</Docs>
</Member>
<Member MemberName="GetHelpTopic">
<MemberSignature Language="C#" Value="public virtual int GetHelpTopic (out string? fileName);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 GetHelpTopic([out] string& fileName) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.GetHelpTopic(System.String@)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetHelpTopic (ByRef fileName As String) As Integer" />
<MemberSignature Language="F#" Value="abstract member GetHelpTopic : string -> int
override this.GetHelpTopic : string -> int" Usage="accessibleObject.GetHelpTopic fileName" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual int GetHelpTopic([Runtime::InteropServices::Out] System::String ^ % fileName);" />
<MemberSignature Language="C#" Value="public virtual int GetHelpTopic (out string fileName);" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="fileName" Type="System.String" RefType="out" />
</Parameters>
<Docs>
<param name="fileName">On return, this property contains the path to the Help file associated with this accessible object.</param>
<summary>Gets an identifier for a Help topic identifier and the path to the Help file associated with this accessible object.</summary>
<returns>An identifier for a Help topic, or -1 if there is no Help topic. On return, the <paramref name="fileName" /> parameter contains the path to the Help file associated with this accessible object.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
To display help for the <xref:System.Windows.Forms.AccessibleObject> using the Windows Help system, you can pass the file name and topic ID to the appropriate <xref:System.Windows.Forms.Help.ShowHelp*?displayProperty=nameWithType> method of <xref:System.Windows.Forms.Help>.
]]></format>
</remarks>
<exception cref="T:System.Runtime.InteropServices.COMException">The Help topic for the control cannot be retrieved.</exception>
<block subset="none" type="overrides">
<para>Not all objects need to support this property.</para>
</block>
<altmember cref="T:System.Windows.Forms.Help" />
<altmember cref="P:System.Windows.Forms.AccessibleObject.Help" />
</Docs>
</Member>
<Member MemberName="GetSelected">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.AccessibleObject? GetSelected ();" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.AccessibleObject GetSelected() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.AccessibleObject.GetSelected" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function GetSelected () As AccessibleObject" />
<MemberSignature Language="F#" Value="abstract member GetSelected : unit -> System.Windows.Forms.AccessibleObject
override this.GetSelected : unit -> System.Windows.Forms.AccessibleObject" Usage="accessibleObject.GetSelected " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::AccessibleObject ^ GetSelected();" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.AccessibleObject GetSelected ();" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
<AssemblyVersion>11.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Forms.AccessibleObject</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Retrieves the currently selected child.</summary>
<returns>An <see cref="T:System.Windows.Forms.AccessibleObject" /> that represents the currently selected child. This method returns the calling object if the object itself is selected. Returns <see langword="null" /> if is no child is currently selected and the object itself does not have focus.</returns>
<remarks>To be added.</remarks>
<exception cref="T:System.Runtime.InteropServices.COMException">The selected child cannot be retrieved.</exception>
<block subset="none" type="overrides">
<para>All objects that can be selected should support this property.</para>
</block>
</Docs>
</Member>
<Member MemberName="Help">
<MemberSignature Language="C#" Value="public virtual string? Help { get; }" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberSignature Language="ILAsm" Value=".property instance string Help" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.AccessibleObject.Help" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property Help As String" />
<MemberSignature Language="F#" Value="member this.Help : string" Usage="System.Windows.Forms.AccessibleObject.Help" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual property System::String ^ Help { System::String ^ get(); };" />
<MemberSignature Language="C#" Value="public virtual string Help { get; }" FrameworkAlternate="windowsdesktop-3.0;windowsdesktop-3.1" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>