次の方法で共有


CategoryNameCollection クラス

カテゴリ名の文字列のコレクションを表します。

この型のすべてのメンバの一覧については、CategoryNameCollection メンバ を参照してください。

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

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

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

このコレクションは、ツールボックスのカテゴリ名のコレクションを格納するために使用されます。

使用例

[Visual Basic, C#, C++] 次に示すのは、コントロールがデザイン モードで配置されている場合に IToolboxService を取得するコード例です。このコードは、 IToolboxService が取得されると、そこから各ツールボックス カテゴリの名前を取得し、それぞれの名前をコントロールの表面に描画します。

 
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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Drawing.Design

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Drawing (System.Drawing.dll 内)

参照

CategoryNameCollection メンバ | System.Drawing.Design 名前空間 | IToolboxService