語言

CategoryNameCollection 類別

定義

代表一組類別名稱字串。

public ref class CategoryNameCollection sealed : System::Collections::ReadOnlyCollectionBase
public sealed class CategoryNameCollection : System.Collections.ReadOnlyCollectionBase
type CategoryNameCollection = class
    inherit ReadOnlyCollectionBase
Public NotInheritable Class CategoryNameCollection
Inherits ReadOnlyCollectionBase
繼承
CategoryNameCollection

範例

以下程式碼範例嘗試在控制項置於設計模式時擷取。IToolboxService 若被檢索, IToolboxService 程式碼會取得每個工具箱類別的名稱,並在控制項表面繪製每個名稱。

#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 ref class ToolboxCategoryNamesControl: public System::Windows::Forms::UserControl
   {
   private:
      System::Drawing::Design::IToolboxService^ toolboxService;
      System::Drawing::Design::CategoryNameCollection^ categoryNames;

   public:
      ToolboxCategoryNamesControl()
      {
         this->BackColor = System::Drawing::Color::Beige;
         this->Name = "Category Names Display Control";
         this->Size = System::Drawing::Size( 264, 200 );
      }

      property System::ComponentModel::ISite^ Site 
      {
         // Obtain or reset IToolboxService^ reference on each siting of control.
         virtual System::ComponentModel::ISite^ get() override
         {
            return __super::Site;
         }

         virtual void set( System::ComponentModel::ISite^ value ) override
         {
            __super::Site = value;
            
            // If the component was sited, attempt to obtain
            // an IToolboxService^ instance.
            if ( __super::Site != nullptr )
            {
               toolboxService = dynamic_cast<IToolboxService^>(this->GetService( IToolboxService::typeid ));
               
               // If an IToolboxService* was located, update the category list.
               if ( toolboxService != nullptr )
                              categoryNames = toolboxService->CategoryNames;
            }
            else
                        toolboxService = nullptr;
         }
      }

   protected:
      [System::Security::Permissions::PermissionSetAttribute(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")]
      virtual void OnPaint( System::Windows::Forms::PaintEventArgs^ e ) override
      {
         if ( categoryNames != nullptr )
         {
            e->Graphics->DrawString( "IToolboxService category names list:", gcnew System::Drawing::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 ], gcnew System::Drawing::Font( "Arial",8 ), Brushes::Black, (float)10, (float)24 + (10 * i) );
         }
      }
   };
}
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));
            }
        }
    }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Drawing.Design
Imports System.Data
Imports System.Windows.Forms

<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
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 (MyBase.Site IsNot Nothing) Then
                toolboxService = CType(Me.GetService(GetType(IToolboxService)), IToolboxService)
                ' If an IToolboxService was located, update the category list.
                If (toolboxService IsNot 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 (categoryNames IsNot 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

備註

此集合用於儲存工具箱類別名稱的集合。

建構函式

名稱 Description
CategoryNameCollection(CategoryNameCollection)

使用指定的集合,初始化 CategoryNameCollection 類別的新實例。

CategoryNameCollection(String[])

使用指定的名稱陣列初始化該類別的新 CategoryNameCollection 實例。

屬性

名稱 Description
Count

取得該實例中包含 ReadOnlyCollectionBase 的元素數量。

(繼承來源 ReadOnlyCollectionBase)
InnerList

取得實例中包含的 ReadOnlyCollectionBase 元素清單。

(繼承來源 ReadOnlyCollectionBase)
Item[Int32]

在指定的索引中取得類別名稱。

方法

名稱 Description
Contains(String)

表示指定的類別是否包含在集合中。

CopyTo(String[], Int32)

將集合元素複製到指定的索引陣列。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetEnumerator()

回傳一個枚舉器,會遍歷該 ReadOnlyCollectionBase 實例。

(繼承來源 ReadOnlyCollectionBase)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
IndexOf(String)

取得指定值的索引。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

明確介面實作

名稱 Description
ICollection.CopyTo(Array, Int32)

從目標陣列的指定索引開始,將整個 ReadOnlyCollectionBase 複製到相容的一維 Array。

(繼承來源 ReadOnlyCollectionBase)
ICollection.IsSynchronized

取得值,指出對 ReadOnlyCollectionBase 物件的存取是否同步處理 (線程安全)。

(繼承來源 ReadOnlyCollectionBase)
ICollection.SyncRoot

取得對象,這個物件可用來同步存取 ReadOnlyCollectionBase 物件。

(繼承來源 ReadOnlyCollectionBase)

擴充方法

名稱 Description
AsParallel(IEnumerable)

啟用查詢的平行處理。

AsQueryable(IEnumerable)

將 IEnumerable 轉換成 IQueryable。

Cast<TResult>(IEnumerable)

將 IEnumerable 的項目轉換成指定的型別。

OfType<TResult>(IEnumerable)

根據指定的型別篩選 IEnumerable 的專案。

適用於

另請參閱