-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Expand file tree
/
Copy pathTreeNodeCollection.xml
More file actions
2108 lines (1915 loc) · 177 KB
/
TreeNodeCollection.xml
File metadata and controls
2108 lines (1915 loc) · 177 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="TreeNodeCollection" FullName="System.Windows.Forms.TreeNodeCollection">
<TypeSignature Language="C#" Value="public class TreeNodeCollection : System.Collections.IList" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeNodeCollection extends System.Object implements class System.Collections.ICollection, class System.Collections.IEnumerable, class System.Collections.IList" />
<TypeSignature Language="DocId" Value="T:System.Windows.Forms.TreeNodeCollection" />
<TypeSignature Language="VB.NET" Value="Public Class TreeNodeCollection
Implements IList" />
<TypeSignature Language="F#" Value="type TreeNodeCollection = class
 interface IList
 interface ICollection
 interface IEnumerable" />
<TypeSignature Language="C++ CLI" Value="public ref class TreeNodeCollection : System::Collections::IList" />
<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.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Collections.ICollection</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.Collections.IEnumerable</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.Collections.IList</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute FrameworkAlternate="netframework-1.1">
<AttributeName Language="C#">[System.ComponentModel.Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))]</AttributeName>
<AttributeName Language="F#">[<System.ComponentModel.Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5">
<AttributeName Language="C#">[System.ComponentModel.Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))]</AttributeName>
<AttributeName Language="F#">[<System.ComponentModel.Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.ComponentModel.Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))]</AttributeName>
<AttributeName Language="F#">[<System.ComponentModel.Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(System.Drawing.Design.UITypeEditor))>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(0)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(0)>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Represents a collection of <see cref="T:System.Windows.Forms.TreeNode" /> objects.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNodeCollection.Add%2A>, <xref:System.Windows.Forms.TreeNodeCollection.Remove%2A>, and <xref:System.Windows.Forms.TreeNodeCollection.RemoveAt%2A> methods enable you to add and remove individual tree nodes from the collection.
> [!NOTE]
> Enumerating the collection and removing nodes is not supported.
You can also use the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Clear%2A> methods to add or remove all the tree nodes from the collection.
Classes cannot inherit from the <xref:System.Windows.Forms.TreeNodeCollection> class.
## Examples
The following code example displays customer information in a <xref:System.Windows.Forms.TreeView> control. The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. In this example, 1,000 customers are displayed with 15 orders each. The repainting of the <xref:System.Windows.Forms.TreeView> is suppressed by using the <xref:System.Windows.Forms.TreeView.BeginUpdate%2A> and <xref:System.Windows.Forms.TreeView.EndUpdate%2A> methods, and a wait <xref:System.Windows.Forms.Cursor> is displayed while the <xref:System.Windows.Forms.TreeView> creates and paints the <xref:System.Windows.Forms.TreeNode> objects. This example requires that you have a `Customer` object that can hold a collection of `Order` objects. It also requires that you have created an instance of a <xref:System.Windows.Forms.TreeView> control on a <xref:System.Windows.Forms.Form>.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeView/CPP/treeview.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/Cursor/Overview/treeview.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/Cursor/Overview/treeview.vb" id="Snippet1":::
]]></format>
</remarks>
<altmember cref="T:System.Windows.Forms.TreeView" />
<altmember cref="T:System.Windows.Forms.TreeNode" />
</Docs>
<Members>
<MemberGroup MemberName="Add">
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Adds a new tree node to the collection.</summary>
</Docs>
</MemberGroup>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string text);" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.TreeNode Add(string text) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Add(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function Add (text As String) As TreeNode" />
<MemberSignature Language="F#" Value="abstract member Add : string -> System.Windows.Forms.TreeNode
override this.Add : string -> System.Windows.Forms.TreeNode" Usage="treeNodeCollection.Add text" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ text);" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string? text);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<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>
<ReturnValue>
<ReturnType>System.Windows.Forms.TreeNode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="text" Type="System.String">
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="text">The label text displayed by the <see cref="T:System.Windows.Forms.TreeNode" />.</param>
<summary>Adds a new tree node with the specified label text to the end of the current tree node collection.</summary>
<returns>A <see cref="T:System.Windows.Forms.TreeNode" /> that represents the tree node being added to the collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can also add new <xref:System.Windows.Forms.TreeNode> objects to the collection by using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
To remove a <xref:System.Windows.Forms.TreeNode> that you previously added, use the <xref:System.Windows.Forms.TreeNodeCollection.Remove%2A>, <xref:System.Windows.Forms.TreeNodeCollection.RemoveAt%2A>, or <xref:System.Windows.Forms.TreeNodeCollection.Clear%2A> methods.
## Examples
The following code example displays customer information in a <xref:System.Windows.Forms.TreeView> control. The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. In this example, 1,000 customers are displayed with 15 orders each. The repainting of the <xref:System.Windows.Forms.TreeView> is suppressed by using the <xref:System.Windows.Forms.TreeView.BeginUpdate%2A> and <xref:System.Windows.Forms.TreeView.EndUpdate%2A> methods, and a wait <xref:System.Windows.Forms.Cursor> is displayed while the <xref:System.Windows.Forms.TreeView> creates and paints the <xref:System.Windows.Forms.TreeNode> objects. This example requires that you have a `Customer` object that can hold a collection of `Order` objects. It also requires that you have created an instance of a <xref:System.Windows.Forms.TreeView> control on a <xref:System.Windows.Forms.Form>.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeView/CPP/treeview.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/Cursor/Overview/treeview.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/Cursor/Overview/treeview.vb" id="Snippet1":::
]]></format>
</remarks>
<altmember cref="M:System.Windows.Forms.TreeNodeCollection.Remove(System.Windows.Forms.TreeNode)" />
<altmember cref="M:System.Windows.Forms.TreeNodeCollection.RemoveAt(System.Int32)" />
</Docs>
</Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public virtual int Add (System.Windows.Forms.TreeNode node);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 Add(class System.Windows.Forms.TreeNode node) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Add(System.Windows.Forms.TreeNode)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function Add (node As TreeNode) As Integer" />
<MemberSignature Language="F#" Value="abstract member Add : System.Windows.Forms.TreeNode -> int
override this.Add : System.Windows.Forms.TreeNode -> int" Usage="treeNodeCollection.Add node" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual int Add(System::Windows::Forms::TreeNode ^ node);" />
<MemberType>Method</MemberType>
<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>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Windows.Forms.TreeNode" />
</Parameters>
<Docs>
<param name="node">The <see cref="T:System.Windows.Forms.TreeNode" /> to add to the collection.</param>
<summary>Adds a previously created tree node to the end of the tree node collection.</summary>
<returns>The zero-based index value of the <see cref="T:System.Windows.Forms.TreeNode" /> added to the tree node collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This version of the <xref:System.Windows.Forms.TreeNodeCollection.Add%2A> method allows you to add previously created <xref:System.Windows.Forms.TreeNode> objects to the end of the tree node collection.
You can also add new <xref:System.Windows.Forms.TreeNode> objects to the collection by using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
To remove a <xref:System.Windows.Forms.TreeNode> that you previously added, use the <xref:System.Windows.Forms.TreeNodeCollection.Remove%2A>, <xref:System.Windows.Forms.TreeNodeCollection.RemoveAt%2A>, or <xref:System.Windows.Forms.TreeNodeCollection.Clear%2A> methods.
> [!NOTE]
> A <xref:System.Windows.Forms.TreeNode> can be assigned to only one <xref:System.Windows.Forms.TreeView> control at a time. To add the tree node to a new tree view control, you must remove it from the other tree view first or clone it.
## Examples
The following code example displays customer information in a <xref:System.Windows.Forms.TreeView> control. The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. In this example, 1,000 customers are displayed with 15 orders each. The repainting of the <xref:System.Windows.Forms.TreeView> is suppressed by using the <xref:System.Windows.Forms.TreeView.BeginUpdate%2A> and <xref:System.Windows.Forms.TreeView.EndUpdate%2A> methods, and a wait <xref:System.Windows.Forms.Cursor> is displayed while the <xref:System.Windows.Forms.TreeView> creates and paints the <xref:System.Windows.Forms.TreeNode> objects. This example requires that you have a `Customer` object that can hold a collection of `Order` objects. It also requires that you have created an instance of a <xref:System.Windows.Forms.TreeView> control on a <xref:System.Windows.Forms.Form>.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeView/CPP/treeview.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/Cursor/Overview/treeview.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/Cursor/Overview/treeview.vb" id="Snippet1":::
]]></format>
</remarks>
<exception cref="T:System.ArgumentException">The <paramref name="node" /> is currently assigned to another <see cref="T:System.Windows.Forms.TreeView" />.</exception>
<altmember cref="M:System.Windows.Forms.TreeNodeCollection.Remove(System.Windows.Forms.TreeNode)" />
<altmember cref="M:System.Windows.Forms.TreeNodeCollection.RemoveAt(System.Int32)" />
</Docs>
</Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string key, string text);" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.TreeNode Add(string key, string text) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Add(System.String,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function Add (key As String, text As String) As TreeNode" />
<MemberSignature Language="F#" Value="abstract member Add : string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string -> System.Windows.Forms.TreeNode" Usage="treeNodeCollection.Add (key, text)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text);" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string? key, string? text);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Windows.Forms.TreeNode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="text" Type="System.String" Index="1" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the tree node.</param>
<param name="text">The text to display in the tree node.</param>
<summary>Creates a new tree node with the specified key and text, and adds it to the collection.</summary>
<returns>The <see cref="T:System.Windows.Forms.TreeNode" /> that was added to the collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
You can also add new <xref:System.Windows.Forms.TreeNode> objects to the collection by using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string key, string text, int imageIndex);" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.TreeNode Add(string key, string text, int32 imageIndex) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Add(System.String,System.String,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function Add (key As String, text As String, imageIndex As Integer) As TreeNode" />
<MemberSignature Language="F#" Value="abstract member Add : string * string * int -> System.Windows.Forms.TreeNode
override this.Add : string * string * int -> System.Windows.Forms.TreeNode" Usage="treeNodeCollection.Add (key, text, imageIndex)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, int imageIndex);" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, int imageIndex);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Windows.Forms.TreeNode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="text" Type="System.String" Index="1" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="imageIndex" Type="System.Int32" Index="2" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the tree node.</param>
<param name="text">The text to display in the tree node.</param>
<param name="imageIndex">The index of the image to display in the tree node.</param>
<summary>Creates a tree node with the specified key, text, and image, and adds it to the collection.</summary>
<returns>The <see cref="T:System.Windows.Forms.TreeNode" /> that was added to the collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
The `imageIndex` parameter refers to an image in the <xref:System.Windows.Forms.TreeView.ImageList> property of the parent <xref:System.Windows.Forms.TreeView>.
The tree node is added to the end of the collection. You can also add new <xref:System.Windows.Forms.TreeNode> objects to the collection by using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string key, string text, string imageKey);" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.TreeNode Add(string key, string text, string imageKey) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Add(System.String,System.String,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function Add (key As String, text As String, imageKey As String) As TreeNode" />
<MemberSignature Language="F#" Value="abstract member Add : string * string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string * string -> System.Windows.Forms.TreeNode" Usage="treeNodeCollection.Add (key, text, imageKey)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, System::String ^ imageKey);" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, string? imageKey);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Windows.Forms.TreeNode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="text" Type="System.String" Index="1" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="imageKey" Type="System.String" Index="2" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the tree node.</param>
<param name="text">The text to display in the tree node.</param>
<param name="imageKey">The image to display in the tree node.</param>
<summary>Creates a tree node with the specified key, text, and image, and adds it to the collection.</summary>
<returns>The <see cref="T:System.Windows.Forms.TreeNode" /> that was added to the collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
The tree node is added to the end of the collection. You can also add new <xref:System.Windows.Forms.TreeNode> objects to the collection by using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
The `imageKey` parameter refers to an image in the <xref:System.Windows.Forms.TreeView.ImageList> property of the parent <xref:System.Windows.Forms.TreeView>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string key, string text, int imageIndex, int selectedImageIndex);" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.TreeNode Add(string key, string text, int32 imageIndex, int32 selectedImageIndex) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Add(System.String,System.String,System.Int32,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function Add (key As String, text As String, imageIndex As Integer, selectedImageIndex As Integer) As TreeNode" />
<MemberSignature Language="F#" Value="abstract member Add : string * string * int * int -> System.Windows.Forms.TreeNode
override this.Add : string * string * int * int -> System.Windows.Forms.TreeNode" Usage="treeNodeCollection.Add (key, text, imageIndex, selectedImageIndex)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, int imageIndex, int selectedImageIndex);" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, int imageIndex, int selectedImageIndex);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Windows.Forms.TreeNode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="text" Type="System.String" Index="1" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="imageIndex" Type="System.Int32" Index="2" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="selectedImageIndex" Type="System.Int32" Index="3" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the tree node.</param>
<param name="text">The text to display in the tree node.</param>
<param name="imageIndex">The index of the image to display in the tree node.</param>
<param name="selectedImageIndex">The index of the image to be displayed in the tree node when it is in a selected state.</param>
<summary>Creates a tree node with the specified key, text, and images, and adds it to the collection.</summary>
<returns>The tree node that was added to the collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
The tree node is added to the end of the collection. You can also add new <xref:System.Windows.Forms.TreeNode> objects to the collection by using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
The `imageIndex` parameter refers to an image in the <xref:System.Windows.Forms.TreeView.ImageList> property of the parent <xref:System.Windows.Forms.TreeView>.
The `selectedImageIndex` parameter refers to an image in the <xref:System.Windows.Forms.TreeView.StateImageList> property of the parent <xref:System.Windows.Forms.TreeView>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string key, string text, string imageKey, string selectedImageKey);" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Windows.Forms.TreeNode Add(string key, string text, string imageKey, string selectedImageKey) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Add(System.String,System.String,System.String,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function Add (key As String, text As String, imageKey As String, selectedImageKey As String) As TreeNode" />
<MemberSignature Language="F#" Value="abstract member Add : string * string * string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string * string * string -> System.Windows.Forms.TreeNode" Usage="treeNodeCollection.Add (key, text, imageKey, selectedImageKey)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, System::String ^ imageKey, System::String ^ selectedImageKey);" />
<MemberSignature Language="C#" Value="public virtual System.Windows.Forms.TreeNode Add (string? key, string? text, string? imageKey, string? selectedImageKey);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Windows.Forms.TreeNode</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="text" Type="System.String" Index="1" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="imageKey" Type="System.String" Index="2" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="selectedImageKey" Type="System.String" Index="3" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the tree node.</param>
<param name="text">The text to display in the tree node.</param>
<param name="imageKey">The key of the image to display in the tree node.</param>
<param name="selectedImageKey">The key of the image to display when the node is in a selected state.</param>
<summary>Creates a tree node with the specified key, text, and images, and adds it to the collection.</summary>
<returns>The <see cref="T:System.Windows.Forms.TreeNode" /> that was added to the collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
The tree node is added to the end of the collection. You can also add new <xref:System.Windows.Forms.TreeNode> objects to the collection by using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
The `imageKey` parameter refers to an image in the <xref:System.Windows.Forms.TreeView.ImageList> property of the parent <xref:System.Windows.Forms.TreeView>.
The `selectedImageKey` parameter refers to an image in the <xref:System.Windows.Forms.TreeView.StateImageList> property of the parent <xref:System.Windows.Forms.TreeView>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="AddRange">
<MemberSignature Language="C#" Value="public virtual void AddRange (System.Windows.Forms.TreeNode[] nodes);" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddRange(class System.Windows.Forms.TreeNode[] nodes) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.AddRange(System.Windows.Forms.TreeNode[])" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub AddRange (nodes As TreeNode())" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0" />
<MemberSignature Language="F#" Value="abstract member AddRange : System.Windows.Forms.TreeNode[] -> unit
override this.AddRange : System.Windows.Forms.TreeNode[] -> unit" Usage="treeNodeCollection.AddRange nodes" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void AddRange(cli::array <System::Windows::Forms::TreeNode ^> ^ nodes);" FrameworkAlternate="netframework-1.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;windowsdesktop-8.0" />
<MemberSignature Language="C#" Value="public virtual void AddRange (params System.Windows.Forms.TreeNode[] nodes);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub AddRange (ParamArray nodes As TreeNode())" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void AddRange(... cli::array <System::Windows::Forms::TreeNode ^> ^ nodes);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<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>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="nodes" Type="System.Windows.Forms.TreeNode[]">
<Attributes>
<Attribute FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-9.0">
<AttributeName Language="C#">[System.ParamArray]</AttributeName>
<AttributeName Language="F#">[<System.ParamArray>]</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="nodes">An array of <see cref="T:System.Windows.Forms.TreeNode" /> objects representing the tree nodes to add to the collection.</param>
<summary>Adds an array of previously created tree nodes to the collection.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode> objects contained in the `nodes` array are appended to the end of the collection.
You can use the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> method to quickly add a group of previously created <xref:System.Windows.Forms.TreeNode> objects to the collection instead of manually adding each <xref:System.Windows.Forms.TreeNode> to the collection using the <xref:System.Windows.Forms.TreeNodeCollection.Add%2A> method.
To remove a <xref:System.Windows.Forms.TreeNode> that you previously added, use the <xref:System.Windows.Forms.TreeNodeCollection.Remove%2A>, <xref:System.Windows.Forms.TreeNodeCollection.RemoveAt%2A>, or <xref:System.Windows.Forms.TreeNodeCollection.Clear%2A> methods.
## Examples
The following code example copies the <xref:System.Windows.Forms.TreeNodeCollection> from a <xref:System.Windows.Forms.TreeView> to a temporary <xref:System.Array>, and then adds the contents of the array to another <xref:System.Windows.Forms.TreeView> using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> method. The <xref:System.Windows.Forms.TreeNodeCollection> from the source <xref:System.Windows.Forms.TreeView> is cleared using the <xref:System.Windows.Forms.TreeNodeCollection.Clear%2A> method. This example requires that you have two <xref:System.Windows.Forms.TreeView> controls, one with a collection of <xref:System.Windows.Forms.TreeNode> objects.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeNodeCollection_Clear/CPP/treenodecollection_clear.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/TreeNodeCollection/AddRange/treenodecollection_clear.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/TreeNodeCollection/AddRange/treenodecollection_clear.vb" id="Snippet1":::
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="nodes" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">
<paramref name="nodes" /> is the child of another <see cref="T:System.Windows.Forms.TreeView" />.</exception>
<altmember cref="M:System.Windows.Forms.TreeNodeCollection.Add(System.String)" />
<altmember cref="M:System.Windows.Forms.TreeNodeCollection.CopyTo(System.Array,System.Int32)" />
</Docs>
</Member>
<Member MemberName="Clear">
<MemberSignature Language="C#" Value="public virtual void Clear ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Clear() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Clear" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub Clear ()" />
<MemberSignature Language="F#" Value="abstract member Clear : unit -> unit
override this.Clear : unit -> unit" Usage="treeNodeCollection.Clear " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void Clear();" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Collections.IList.Clear</InterfaceMember>
</Implements>
<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>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Removes all tree nodes from the collection.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
You can use this method to clear the entire collection of tree nodes from a tree view.
To remove an individual tree node from the collection, use the <xref:System.Windows.Forms.TreeNodeCollection.Remove%2A> or <xref:System.Windows.Forms.TreeNodeCollection.RemoveAt%2A> methods.
To add new <xref:System.Windows.Forms.TreeNode> objects to the collection, use the <xref:System.Windows.Forms.TreeNodeCollection.Add%2A>, <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A>, or <xref:System.Windows.Forms.TreeNodeCollection.Insert%2A> methods.
## Examples
The following code example copies the <xref:System.Windows.Forms.TreeNodeCollection> from a <xref:System.Windows.Forms.TreeView> to a temporary <xref:System.Array>, and then adds the contents of the array to another <xref:System.Windows.Forms.TreeView> using the <xref:System.Windows.Forms.TreeNodeCollection.AddRange%2A> method. The <xref:System.Windows.Forms.TreeNodeCollection> from the source <xref:System.Windows.Forms.TreeView> is cleared using the <xref:System.Windows.Forms.TreeNodeCollection.Clear%2A> method. This example requires that you have two <xref:System.Windows.Forms.TreeView> controls, one with a collection of <xref:System.Windows.Forms.TreeNode> objects.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeNodeCollection_Clear/CPP/treenodecollection_clear.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/TreeNodeCollection/AddRange/treenodecollection_clear.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/TreeNodeCollection/AddRange/treenodecollection_clear.vb" id="Snippet1":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Contains">
<MemberSignature Language="C#" Value="public bool Contains (System.Windows.Forms.TreeNode node);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Contains(class System.Windows.Forms.TreeNode node) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Contains(System.Windows.Forms.TreeNode)" />
<MemberSignature Language="VB.NET" Value="Public Function Contains (node As TreeNode) As Boolean" />
<MemberSignature Language="F#" Value="member this.Contains : System.Windows.Forms.TreeNode -> bool" Usage="treeNodeCollection.Contains node" />
<MemberSignature Language="C++ CLI" Value="public:
 bool Contains(System::Windows::Forms::TreeNode ^ node);" />
<MemberType>Method</MemberType>
<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>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Windows.Forms.TreeNode" />
</Parameters>
<Docs>
<param name="node">The <see cref="T:System.Windows.Forms.TreeNode" /> to locate in the collection.</param>
<summary>Determines whether the specified tree node is a member of the collection.</summary>
<returns>
<see langword="true" /> if the <see cref="T:System.Windows.Forms.TreeNode" /> is a member of the collection; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method enables you to determine whether a <xref:System.Windows.Forms.TreeNode> is a member of the collection before attempting to perform operations on the <xref:System.Windows.Forms.TreeNode>. You can use this method to confirm that a <xref:System.Windows.Forms.TreeNode> has been added to or is still a member of the collection.
The amount of time this method takes is proportional to the size of the node collection, so you may want to avoid using it with large collections.
This method checks for reference equality only. You cannot use it to determine whether an equivalent but different node is in the collection.
> [!NOTE]
> One implication of the reference-equality requirement is that you cannot customize the behavior of this method for derived <xref:System.Windows.Forms.TreeNode> types by overriding the <xref:System.Object.Equals%2A> method of the <xref:System.Windows.Forms.TreeNode> class.
## Examples
The following code example determines if a specified <xref:System.Windows.Forms.TreeNode> is within a <xref:System.Windows.Forms.TreeNodeCollection>, and then enumerates the collection. This example requires that you have a <xref:System.Windows.Forms.Form> with a <xref:System.Windows.Forms.TreeView> that has a <xref:System.Windows.Forms.TreeNodeCollection> that contains a <xref:System.Windows.Forms.TreeNode> named `myTreeNode2`.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeNodeCollection_Contains_GetEnumerator/CPP/treenodecollection_contains_getenumerator.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/TreeNodeCollection/Contains/treenodecollection_contains_getenumerator.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/TreeNodeCollection/Contains/treenodecollection_contains_getenumerator.vb" id="Snippet1":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ContainsKey">
<MemberSignature Language="C#" Value="public virtual bool ContainsKey (string key);" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ContainsKey(string key) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.ContainsKey(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function ContainsKey (key As String) As Boolean" />
<MemberSignature Language="F#" Value="abstract member ContainsKey : string -> bool
override this.ContainsKey : string -> bool" Usage="treeNodeCollection.ContainsKey key" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual bool ContainsKey(System::String ^ key);" />
<MemberSignature Language="C#" Value="public virtual bool ContainsKey (string? key);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the <see cref="T:System.Windows.Forms.TreeNode" /> to search for.</param>
<summary>Determines whether the collection contains a tree node with the specified key.</summary>
<returns>
<see langword="true" /> to indicate the collection contains a <see cref="T:System.Windows.Forms.TreeNode" /> with the specified key; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
The key comparison is not case-sensitive. If the `key` parameter is `null` or an empty string, the <xref:System.Windows.Forms.TreeNodeCollection.Item*> property returns `false`.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="CopyTo">
<MemberSignature Language="C#" Value="public void CopyTo (Array dest, int index);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyTo(class System.Array dest, int32 index) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.CopyTo(System.Array,System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Sub CopyTo (dest As Array, index As Integer)" />
<MemberSignature Language="F#" Value="abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit" Usage="treeNodeCollection.CopyTo (dest, index)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void CopyTo(Array ^ dest, int index);" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)</InterfaceMember>
</Implements>
<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>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="dest" Type="System.Array" />
<Parameter Name="index" Type="System.Int32" />
</Parameters>
<Docs>
<param name="dest">The destination array.</param>
<param name="index">The index in the destination array at which storing begins.</param>
<summary>Copies the entire collection into an existing array at a specified location within the array.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example displays the number of <xref:System.Windows.Forms.TreeNode> objects in a <xref:System.Windows.Forms.TreeNodeCollection>, copies the contents of the collection to an <xref:System.Object> array, and displays a list of the tree nodes in a <xref:System.Windows.Forms.Label> control. This example requires that you have a <xref:System.Windows.Forms.TreeView> with at least one <xref:System.Windows.Forms.TreeNode> in its <xref:System.Windows.Forms.TreeNodeCollection>, and a <xref:System.Windows.Forms.Label> control on a <xref:System.Windows.Forms.Form>.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeNodeCollection_Count_CopyTo/CPP/treenodecollection_count_copyto.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/TreeNodeCollection/CopyTo/treenodecollection_count_copyto.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/TreeNodeCollection/CopyTo/treenodecollection_count_copyto.vb" id="Snippet1":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Count">
<MemberSignature Language="C#" Value="public int Count { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 Count" />
<MemberSignature Language="DocId" Value="P:System.Windows.Forms.TreeNodeCollection.Count" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Count As Integer" />
<MemberSignature Language="F#" Value="member this.Count : int" Usage="System.Windows.Forms.TreeNodeCollection.Count" />
<MemberSignature Language="C++ CLI" Value="public:
 property int Count { int get(); };" />
<MemberType>Property</MemberType>
<Implements>
<InterfaceMember>P:System.Collections.ICollection.Count</InterfaceMember>
</Implements>
<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>
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.ComponentModel.Browsable(false)]</AttributeName>
<AttributeName Language="F#">[<System.ComponentModel.Browsable(false)>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-1.1">
<AttributeName Language="C#">[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]</AttributeName>
<AttributeName Language="F#">[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the total number of <see cref="T:System.Windows.Forms.TreeNode" /> objects in the collection.</summary>
<value>The total number of <see cref="T:System.Windows.Forms.TreeNode" /> objects in the collection.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNodeCollection.Count> property holds the number of <xref:System.Windows.Forms.TreeNode> objects assigned to the collection. You can use the <xref:System.Windows.Forms.TreeNodeCollection.Count> property value as the upper bounds of a loop to iterate through a collection.
> [!NOTE]
> Because the index value of a collection is a zero-based index, you must subtract one from the looping variable. If you do not account for this, you will exceed the upper bounds of the collection and throw an <xref:System.IndexOutOfRangeException> exception.
## Examples
The following code example displays the number of <xref:System.Windows.Forms.TreeNode> objects in a <xref:System.Windows.Forms.TreeNodeCollection>, copies the contents of the collection to an <xref:System.Object> array, and displays a list of the tree nodes in a <xref:System.Windows.Forms.Label> control. This example requires that you have a <xref:System.Windows.Forms.TreeView> with at least one <xref:System.Windows.Forms.TreeNode> in its <xref:System.Windows.Forms.TreeNodeCollection>, and a <xref:System.Windows.Forms.Label> control on a <xref:System.Windows.Forms.Form>.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeNodeCollection_Count_CopyTo/CPP/treenodecollection_count_copyto.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/TreeNodeCollection/CopyTo/treenodecollection_count_copyto.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/TreeNodeCollection/CopyTo/treenodecollection_count_copyto.vb" id="Snippet1":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="Find">
<MemberSignature Language="C#" Value="public System.Windows.Forms.TreeNode[] Find (string key, bool searchAllChildren);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Windows.Forms.TreeNode[] Find(string key, bool searchAllChildren) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.Find(System.String,System.Boolean)" />
<MemberSignature Language="VB.NET" Value="Public Function Find (key As String, searchAllChildren As Boolean) As TreeNode()" />
<MemberSignature Language="F#" Value="member this.Find : string * bool -> System.Windows.Forms.TreeNode[]" Usage="treeNodeCollection.Find (key, searchAllChildren)" />
<MemberSignature Language="C++ CLI" Value="public:
 cli::array <System::Windows::Forms::TreeNode ^> ^ Find(System::String ^ key, bool searchAllChildren);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Windows.Forms.TreeNode[]</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
<Parameter Name="searchAllChildren" Type="System.Boolean" Index="1" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the tree node to search for.</param>
<param name="searchAllChildren">
<see langword="true" /> to search child nodes of tree nodes; otherwise, <see langword="false" />.</param>
<summary>Finds the tree nodes with specified key, optionally searching subnodes.</summary>
<returns>An array of <see cref="T:System.Windows.Forms.TreeNode" /> objects whose <see cref="P:System.Windows.Forms.TreeNode.Name" /> property matches the specified key.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
The key comparison is not case-sensitive. If the `key` parameter is `null` or an empty string, or there are no matches, the <xref:System.Windows.Forms.TreeNodeCollection.Item*> property returns an empty array`.`
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">.NET 5 and later: <paramref name="key" /> is <see langword="null" /> or empty.</exception>
</Docs>
</Member>
<Member MemberName="GetEnumerator">
<MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.IEnumerator GetEnumerator() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.GetEnumerator" />
<MemberSignature Language="VB.NET" Value="Public Function GetEnumerator () As IEnumerator" />
<MemberSignature Language="F#" Value="abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator" Usage="treeNodeCollection.GetEnumerator " />
<MemberSignature Language="C++ CLI" Value="public:
 virtual System::Collections::IEnumerator ^ GetEnumerator();" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Collections.IEnumerable.GetEnumerator</InterfaceMember>
</Implements>
<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>
<ReturnValue>
<ReturnType>System.Collections.IEnumerator</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Returns an enumerator that can be used to iterate through the tree node collection.</summary>
<returns>An <see cref="T:System.Collections.IEnumerator" /> that represents the tree node collection.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following code example determines if a specified <xref:System.Windows.Forms.TreeNode> is within a <xref:System.Windows.Forms.TreeNodeCollection>, and then enumerates the collection. This example requires that you have a <xref:System.Windows.Forms.Form> with a <xref:System.Windows.Forms.TreeView> that has a <xref:System.Windows.Forms.TreeNodeCollection> that contains a <xref:System.Windows.Forms.TreeNode> named `myTreeNode2`.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeNodeCollection_Contains_GetEnumerator/CPP/treenodecollection_contains_getenumerator.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/TreeNodeCollection/Contains/treenodecollection_contains_getenumerator.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/TreeNodeCollection/Contains/treenodecollection_contains_getenumerator.vb" id="Snippet1":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="IndexOf">
<MemberSignature Language="C#" Value="public int IndexOf (System.Windows.Forms.TreeNode node);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 IndexOf(class System.Windows.Forms.TreeNode node) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.IndexOf(System.Windows.Forms.TreeNode)" />
<MemberSignature Language="VB.NET" Value="Public Function IndexOf (node As TreeNode) As Integer" />
<MemberSignature Language="F#" Value="member this.IndexOf : System.Windows.Forms.TreeNode -> int" Usage="treeNodeCollection.IndexOf node" />
<MemberSignature Language="C++ CLI" Value="public:
 int IndexOf(System::Windows::Forms::TreeNode ^ node);" />
<MemberType>Method</MemberType>
<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>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="node" Type="System.Windows.Forms.TreeNode" />
</Parameters>
<Docs>
<param name="node">The <see cref="T:System.Windows.Forms.TreeNode" /> to locate in the collection.</param>
<summary>Returns the index of the specified tree node in the collection.</summary>
<returns>The zero-based index of the item found in the tree node collection; otherwise, -1.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The amount of time this method takes is proportional to the size of the node collection, so you may want to avoid using it with large collections.
This method checks for reference equality only. You cannot use it to retrieve the index of an equivalent but different node in the collection.
> [!NOTE]
> One implication of the reference-equality requirement is that you cannot customize the behavior of this method for derived <xref:System.Windows.Forms.TreeNode> types by overriding the <xref:System.Object.Equals%2A> method of the <xref:System.Windows.Forms.TreeNode> class.
## Examples
The following code example determines if a specified <xref:System.Windows.Forms.TreeNode> is within a <xref:System.Windows.Forms.TreeNodeCollection>, and then enumerates the collection. This example requires that you have a <xref:System.Windows.Forms.Form> with a <xref:System.Windows.Forms.TreeView> that has a <xref:System.Windows.Forms.TreeNodeCollection> that contains a <xref:System.Windows.Forms.TreeNode> named `myTreeNode2`.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Winforms/TreeNodeCollection_Contains_GetEnumerator/CPP/treenodecollection_contains_getenumerator.cpp" id="Snippet2":::
:::code language="csharp" source="~/snippets/csharp/System.Windows.Forms/TreeNodeCollection/Contains/treenodecollection_contains_getenumerator.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/System.Windows.Forms/TreeNodeCollection/Contains/treenodecollection_contains_getenumerator.vb" id="Snippet2":::
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="IndexOfKey">
<MemberSignature Language="C#" Value="public virtual int IndexOfKey (string key);" FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 IndexOfKey(string key) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Forms.TreeNodeCollection.IndexOfKey(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function IndexOfKey (key As String) As Integer" />
<MemberSignature Language="F#" Value="abstract member IndexOfKey : string -> int
override this.IndexOfKey : string -> int" Usage="treeNodeCollection.IndexOfKey key" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual int IndexOfKey(System::String ^ key);" />
<MemberSignature Language="C#" Value="public virtual int IndexOfKey (string? key);" FrameworkAlternate="windowsdesktop-10.0;windowsdesktop-11.0;windowsdesktop-8.0;windowsdesktop-9.0" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<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>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="key" Type="System.String" Index="0" FrameworkAlternate="net-5.0;net-6.0;netcore-3.0;netcore-3.1;netframework-2.0;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;windowsdesktop-3.0;windowsdesktop-3.1;windowsdesktop-5.0;windowsdesktop-6.0;windowsdesktop-7.0;netframework-4.8.1;windowsdesktop-8.0;windowsdesktop-9.0;windowsdesktop-10.0;windowsdesktop-11.0" />
</Parameters>
<Docs>
<param name="key">The name of the tree node to search for.</param>
<summary>Returns the index of the first occurrence of a tree node with the specified key.</summary>
<returns>The zero-based index of the first occurrence of a tree node with the specified key, if found; otherwise, -1.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If <xref:System.Windows.Forms.TreeNodeCollection.IndexOfKey%2A> is called successively, the last returned index will be checked for a key match first, and if there is no match, the search starts at the beginning of the collection.
The <xref:System.Windows.Forms.TreeNode.Name> property corresponds to the key for a <xref:System.Windows.Forms.TreeNode> in the <xref:System.Windows.Forms.TreeNodeCollection>.
The key comparison is not case-sensitive. If `key` is `null` or an empty string, the <xref:System.Windows.Forms.TreeNodeCollection.Item*> property returns -1.
]]></format>
</remarks>
</Docs>
</Member>
<MemberGroup MemberName="Insert">
<AssemblyInfo>
<AssemblyName>System.Windows.Forms</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>