CategoryNameCollection クラス
アセンブリ: System.Drawing (system.drawing.dll 内)



次に示すのは、コントロールがデザイン モードで配置されている場合に 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 <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 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
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)); } } } }
#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) ); } } }; }

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


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- CategoryNameCollection クラスのページへのリンク