CategoryNameCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示类别名称字符串的集合。
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
- 继承
示例
下面的代码示例尝试在设计模式下设置控件时检索 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
注解
此集合用于存储工具箱类别名称的集合。
构造函数
CategoryNameCollection(CategoryNameCollection) |
使用指定的集合初始化 CategoryNameCollection 类的新实例。 |
CategoryNameCollection(String[]) |
使用指定的名称数组初始化 CategoryNameCollection 类的新实例。 |
属性
Count |
获取 ReadOnlyCollectionBase 实例中包含的元素数。 (继承自 ReadOnlyCollectionBase) |
InnerList |
获取 ReadOnlyCollectionBase 实例中包含的元素的列表。 (继承自 ReadOnlyCollectionBase) |
Item[Int32] |
获取指定索引处的类别名称。 |
方法
Contains(String) |
指示指定的类别是否包含在集合中。 |
CopyTo(String[], Int32) |
将集合元素复制到指定索引处的指定数组。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetEnumerator() |
返回循环访问 ReadOnlyCollectionBase 实例的枚举器。 (继承自 ReadOnlyCollectionBase) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
IndexOf(String) |
获取指定值的索引。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
ICollection.CopyTo(Array, Int32) |
从目标数组的指定索引处开始将整个 ReadOnlyCollectionBase 复制到兼容的一维 Array。 (继承自 ReadOnlyCollectionBase) |
ICollection.IsSynchronized |
获取一个值,该值指示对 ReadOnlyCollectionBase 对象的访问是否同步(线程安全)。 (继承自 ReadOnlyCollectionBase) |
ICollection.SyncRoot |
获取一个对象,该对象可用于同步对 ReadOnlyCollectionBase 对象的访问。 (继承自 ReadOnlyCollectionBase) |
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |