CategoryNameCollection Class
Represents a collection of category name strings.
For a list of all members of this type, see CategoryNameCollection Members.
System.Object
System.Collections.ReadOnlyCollectionBase
System.Drawing.Design.CategoryNameCollection
[Visual Basic] NotInheritable Public Class CategoryNameCollection Inherits ReadOnlyCollectionBase [C#] public sealed class CategoryNameCollection : ReadOnlyCollectionBase [C++] public __gc __sealed class CategoryNameCollection : public ReadOnlyCollectionBase [JScript] public class CategoryNameCollection extends ReadOnlyCollectionBase
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
This collection is used to store collections of toolbox category names.
Example
[Visual Basic, C#, C++] The following code example attempts to retrieve the IToolboxService when the control is sited in design mode. If the IToolboxService is retrieved, the code gets the names of each toolbox category and draws each name on the surface of the control.
[Visual Basic] Imports System Imports System.Collections Imports System.ComponentModel Imports System.ComponentModel.Design Imports System.Drawing Imports System.Drawing.Design Imports System.Data Imports System.Windows.Forms Public Class ToolboxCategoryNamesControl Inherits System.Windows.Forms.UserControl Private toolboxService As System.Drawing.Design.IToolboxService Private categoryNames As System.Drawing.Design.CategoryNameCollection Public Sub New() Me.BackColor = System.Drawing.Color.Beige Me.Name = "Category Names Display Control" Me.Size = New System.Drawing.Size(264, 200) End Sub ' Obtain or reset IToolboxService reference on each siting of control. Public Overrides Property Site() As System.ComponentModel.ISite Get Return MyBase.Site End Get Set(ByVal Value As System.ComponentModel.ISite) MyBase.Site = Value ' If the component was sited, attempt to obtain ' an IToolboxService instance. If Not (MyBase.Site Is Nothing) Then toolboxService = CType(Me.GetService(GetType(IToolboxService)), IToolboxService) ' If an IToolboxService was located, update the category list. If Not (toolboxService Is Nothing) Then categoryNames = toolboxService.CategoryNames End If Else toolboxService = Nothing End If End Set End Property Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) If Not (categoryNames Is Nothing) Then e.Graphics.DrawString("IToolboxService category names list:", New Font("Arial", 9), Brushes.Black, 10, 10) ' categoryNames is a CategoryNameCollection obtained from ' the IToolboxService. CategoryNameCollection is a read-only ' string collection. ' Output each category name in the CategoryNameCollection. Dim i As Integer For i = 0 To categoryNames.Count - 1 e.Graphics.DrawString(categoryNames(i), New Font("Arial", 8), Brushes.Black, 10, 24 + 10 * i) Next i End If End Sub End Class [C#] using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Drawing.Design; using System.Data; using System.Windows.Forms; namespace ToolboxCategoryNamesControl { public class ToolboxCategoryNamesControl : System.Windows.Forms.UserControl { private System.Drawing.Design.IToolboxService toolboxService; private System.Drawing.Design.CategoryNameCollection categoryNames; public ToolboxCategoryNamesControl() { this.BackColor = System.Drawing.Color.Beige; this.Name = "Category Names Display Control"; this.Size = new System.Drawing.Size(264, 200); } // Obtain or reset IToolboxService reference on each siting of control. public override System.ComponentModel.ISite Site { get { return base.Site; } set { base.Site = value; // If the component was sited, attempt to obtain // an IToolboxService instance. if( base.Site != null ) { toolboxService = (IToolboxService)this.GetService(typeof(IToolboxService)); // If an IToolboxService was located, update the category list. if( toolboxService != null ) categoryNames = toolboxService.CategoryNames; } else toolboxService = null; } } protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { if( categoryNames != null ) { e.Graphics.DrawString("IToolboxService category names list:", new Font("Arial", 9), Brushes.Black, 10, 10); // categoryNames is a CategoryNameCollection obtained from // the IToolboxService. CategoryNameCollection is a read-only // string collection. // Output each category name in the CategoryNameCollection. for( int i=0; i< categoryNames.Count; i++ ) e.Graphics.DrawString(categoryNames[i], new Font("Arial", 8), Brushes.Black, 10, 24+(10*i)); } } } } [C++] #using <mscorlib.dll> #using <System.Windows.Forms.dll> #using <System.Data.dll> #using <System.Drawing.dll> #using <System.dll> using namespace System; using namespace System::Collections; using namespace System::ComponentModel; using namespace System::ComponentModel::Design; using namespace System::Drawing; using namespace System::Drawing::Design; using namespace System::Data; using namespace System::Windows::Forms; namespace ToolboxCategoryNamesControl { public __gc class ToolboxCategoryNamesControl : public System::Windows::Forms::UserControl { private: System::Drawing::Design::IToolboxService* toolboxService; private: System::Drawing::Design::CategoryNameCollection* categoryNames; public: ToolboxCategoryNamesControl() { this->BackColor = System::Drawing::Color::Beige; this->Name = S"Category Names Display Control"; this->Size = System::Drawing::Size(264, 200); } // Obtain or reset IToolboxService* reference on each siting of control. __property System::ComponentModel::ISite* get_Site() { return UserControl::get_Site(); } __property void set_Site(System::ComponentModel::ISite* value) { UserControl::set_Site( value ); // If the component was sited, attempt to obtain // an IToolboxService* instance. if (UserControl::Site != 0) { toolboxService = dynamic_cast<IToolboxService*>(this->GetService(__typeof(IToolboxService))); // If an IToolboxService* was located, update the category list. if (toolboxService != 0) categoryNames = toolboxService->CategoryNames; } else toolboxService = 0; } protected: void OnPaint(System::Windows::Forms::PaintEventArgs* e) { if (categoryNames != 0) { e->Graphics->DrawString(S"IToolboxService category names list:", new System::Drawing::Font(S"Arial", 9), Brushes::Black, 10, 10); // categoryNames is a CategoryNameCollection obtained from // the IToolboxService*. CategoryNameCollection is a read-only // String* collection. // Output each category name in the CategoryNameCollection. for (int i=0; i< categoryNames->Count; i++) e->Graphics->DrawString(categoryNames->Item[i], new System::Drawing::Font(S"Arial", 8), Brushes::Black, (float)10, (float)24+(10*i)); } } }; }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Drawing.Design
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: System.Drawing (in System.Drawing.dll)
See Also
CategoryNameCollection Members | System.Drawing.Design Namespace | IToolboxService