CategoryNameCollection Class

CategoryNameCollection Class

 

Represents a collection of category name strings.

Namespace:   System.Drawing.Design
Assembly:  System.Drawing (in System.Drawing.dll)

System.Object
  System.Collections.ReadOnlyCollectionBase
    System.Drawing.Design.CategoryNameCollection

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public sealed class CategoryNameCollection : ReadOnlyCollectionBase

NameDescription
System_CAPS_pubmethodCategoryNameCollection(CategoryNameCollection)

Initializes a new instance of the CategoryNameCollection class using the specified collection.

System_CAPS_pubmethodCategoryNameCollection(String[])

Initializes a new instance of the CategoryNameCollection class using the specified array of names.

NameDescription
System_CAPS_pubpropertyCount

Gets the number of elements contained in the ReadOnlyCollectionBase instance.(Inherited from ReadOnlyCollectionBase.)

System_CAPS_pubpropertyItem[Int32]

Gets the category name at the specified index.

NameDescription
System_CAPS_pubmethodContains(String)

Indicates whether the specified category is contained in the collection.

System_CAPS_pubmethodCopyTo(String[], Int32)

Copies the collection elements to the specified array at the specified index.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetEnumerator()

Returns an enumerator that iterates through the ReadOnlyCollectionBase instance.(Inherited from ReadOnlyCollectionBase.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodIndexOf(String)

Gets the index of the specified value.

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

Copies the entire ReadOnlyCollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.(Inherited from ReadOnlyCollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.IsSynchronized

Gets a value indicating whether access to a ReadOnlyCollectionBase object is synchronized (thread safe).(Inherited from ReadOnlyCollectionBase.)

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.SyncRoot

Gets an object that can be used to synchronize access to a ReadOnlyCollectionBase object.(Inherited from ReadOnlyCollectionBase.)

NameDescription
System_CAPS_pubmethodAsParallel()

Overloaded. Enables parallelization of a query.(Defined by ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Overloaded. Converts an IEnumerable to an IQueryable.(Defined by Queryable.)

System_CAPS_pubmethodCast<TResult>()

Casts the elements of an IEnumerable to the specified type.(Defined by Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filters the elements of an IEnumerable based on a specified type.(Defined by Enumerable.)

This collection is used to store collections of toolbox category names.

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.

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
{    
    [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")] 
	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));                
            }            
        }
	}    
}

.NET Framework
Available since 1.1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft