TemplateGroupCollection Classe

Définition

Représente une collection d’objets TemplateGroup dans un concepteur de contrôles. Cette classe ne peut pas être héritée.

public ref class TemplateGroupCollection sealed : System::Collections::IList
public sealed class TemplateGroupCollection : System.Collections.IList
type TemplateGroupCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public NotInheritable Class TemplateGroupCollection
Implements IList
Héritage
TemplateGroupCollection
Implémente

Exemples

L’exemple de code suivant montre comment définir un concepteur de contrôles simple dérivé de la ControlDesigner classe. Le concepteur de contrôles dérivé implémente la TemplateGroups propriété en obtenant les groupes de modèles définis pour la classe de base et en ajoutant un groupe de modèles spécifique au concepteur de contrôles dérivé.

using System;
using System.Web.UI;
using System.Web.UI.Design;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.ComponentModel;
using System.ComponentModel.Design;

namespace Examples.AspNet
{
    // Define a simple control designer that adds a
    // template group to the template group collection.
    class DerivedControlDesigner : System.Web.UI.Design.ControlDesigner
    {
        private DerivedControl internalControl = null;

        private const String templateGroupName = "My template group";
        private const String templateDefinitionName1 = "First";
        private const String templateDefinitionName2 = "Second";
        private TemplateGroup internalGroup = null;

        // Override the read-only TemplateGroups property.
        // Get the base group collection, and add a group 
        // with two template definitions for the derived
        // control designer.
        public override TemplateGroupCollection TemplateGroups
        {
            get
            {
                // Start with the groups defined by the base designer class.
                TemplateGroupCollection groups = base.TemplateGroups;

                if (internalGroup == null) 
                {
                    // Define a new group with two template definitions.
                    internalGroup = new TemplateGroup(templateGroupName, 
                                                internalControl.ControlStyle);

                    TemplateDefinition templateDef1 = new TemplateDefinition(this, 
                        templateDefinitionName1, internalControl, 
                        templateDefinitionName1, internalControl.ControlStyle);

                    TemplateDefinition templateDef2 = new TemplateDefinition(this, 
                        templateDefinitionName2, internalControl, 
                        templateDefinitionName2, internalControl.ControlStyle);

                    internalGroup.AddTemplateDefinition(templateDef1);
                    internalGroup.AddTemplateDefinition(templateDef2);
                }

                // Add the new template group to the collection.
                groups.Add(internalGroup);

                return groups;
            }
        }
    }

    // Define a simple web control, and associate it with the designer.
    [DesignerAttribute(typeof(DerivedControlDesigner),
                       typeof(IDesigner))]
    public class DerivedControl : WebControl
    {
        // Define derived control behavior here.
    }
}
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.ComponentModel
Imports System.ComponentModel.Design

Namespace Examples.AspNet

    ' Define a simple control designer that adds a
    ' template group to the template group collection.
    Class DerivedControlDesigner
        Inherits System.Web.UI.Design.ControlDesigner

        Private Dim internalControl As DerivedControl = Nothing
    
        Private Const templateGroupName As String = "My template group"
        Private Const templateDefinitionName1 As String = "First"
        Private Const templateDefinitionName2 As String = "Second"
        Private Dim internalGroup As TemplateGroup = Nothing

        ' Override the read-only TemplateGroups property.
        ' Get the base group collection, and add a group 
        ' with two template definitions for the derived
        ' control designer.
        Public Overrides ReadOnly Property TemplateGroups As TemplateGroupCollection
            Get

                ' Start with the groups defined by the base designer class.
                Dim groups As TemplateGroupCollection  = MyBase.TemplateGroups

                If internalGroup Is Nothing

                    ' Define a new group with two template definitions.
                    internalGroup = New TemplateGroup(templateGroupName, _
                                                internalControl.ControlStyle)

                    Dim templateDef1 As TemplateDefinition = new TemplateDefinition(Me, _
                        templateDefinitionName1, internalControl, _
                        templateDefinitionName1, internalControl.ControlStyle)

                    Dim templateDef2 As TemplateDefinition = new TemplateDefinition(Me, _
                        templateDefinitionName2, internalControl, _
                        templateDefinitionName2, internalControl.ControlStyle)

                    internalGroup.AddTemplateDefinition(templateDef1)
                    internalGroup.AddTemplateDefinition(templateDef2)

                End If

                ' Add the new template group to the collection.
                groups.Add(internalGroup)

                return groups
            End Get
        End Property

    End Class

    ' Simple Web control, derived from the Web control class.
    <DesignerAttribute(GetType(DerivedControlDesigner), GetType(IDesigner))> _
    Public Class DerivedControl
        Inherits WebControl
        
        ' Define derived control behavior here.
    End Class

End Namespace

Remarques

La ControlDesigner classe, et toute classe dérivée, définit la TemplateGroups propriété en tant qu’objet TemplateGroupCollection . La TemplateGroupCollection propriété est généralement utilisée uniquement par un hôte de conception tel que Visual Studio 2005.

La collection augmente dynamiquement la taille à mesure que les objets sont ajoutés. Les index de cette collection sont de base zéro. Utilisez la Count propriété pour déterminer le nombre de groupes dans la collection.

En outre, utilisez les TemplateGroupCollection méthodes et les propriétés pour fournir les fonctionnalités suivantes :

  • Méthode Add permettant d’ajouter un seul groupe à la collection.

  • Méthode Insert permettant d’ajouter un groupe à un index particulier dans la collection.

  • Méthode Remove de suppression d’un groupe.

  • Méthode RemoveAt permettant de supprimer le groupe à un index particulier.

  • Méthode Contains permettant de déterminer si un groupe particulier se trouve déjà dans la collection.

  • Méthode IndexOf permettant de récupérer l’index d’un groupe dans la collection.

  • Indexeur Item[] pour obtenir ou définir le groupe à un index particulier, à l’aide de la notation de tableau.

  • Méthode AddRange permettant d’ajouter plusieurs groupes à la collection.

    Vous pouvez ajouter plusieurs groupes en tant que tableau de groupes ou en tant qu’objet TemplateGroupCollection que vous récupérez via la TemplateGroups propriété d’un autre concepteur de contrôles.

  • Méthode Clear permettant de supprimer tous les groupes de la collection.

Constructeurs

TemplateGroupCollection()

Initialise une nouvelle instance de la classe TemplateGroupCollection.

Propriétés

Count

Obtient le nombre d'objets TemplateGroup dans la collection.

Item[Int32]

Obtient ou définit un objet TemplateGroup dans la collection à l'index spécifié.

Méthodes

Add(TemplateGroup)

Ajoute l'objet TemplateGroup spécifié à la fin de la collection.

AddRange(TemplateGroupCollection)

Ajoute les groupes de modèles d'un objet TemplateGroupCollection existant à l'objet TemplateGroupCollection actuel.

Clear()

Supprime tous les groupes de la collection.

Contains(TemplateGroup)

Détermine si le groupe spécifié est contenu dans la collection.

CopyTo(TemplateGroup[], Int32)

Copie les groupes dans la collection vers un tableau à une dimension commençant à l'index spécifié du tableau cible.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IndexOf(TemplateGroup)

Retourne l'index de l'objet TemplateGroup spécifié dans la collection.

Insert(Int32, TemplateGroup)

Insère un objet TemplateGroup dans la collection à l'index spécifié.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Remove(TemplateGroup)

Supprime l'objet TemplateGroup spécifié de la collection.

RemoveAt(Int32)

Supprime l'objet TemplateGroup situé à l'index spécifié dans la collection.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

ICollection.CopyTo(Array, Int32)

Pour obtenir une description de ce membre, consultez CopyTo(Array, Int32).

ICollection.Count

Pour obtenir une description de ce membre, consultez Count.

ICollection.IsSynchronized

Pour obtenir une description de ce membre, consultez IsSynchronized.

ICollection.SyncRoot

Pour obtenir une description de ce membre, consultez SyncRoot.

IEnumerable.GetEnumerator()

Pour obtenir une description de ce membre, consultez GetEnumerator().

IList.Add(Object)

Pour obtenir une description de ce membre, consultez Add(Object).

IList.Clear()

Pour obtenir une description de ce membre, consultez Clear().

IList.Contains(Object)

Pour obtenir une description de ce membre, consultez Contains(Object).

IList.IndexOf(Object)

Pour obtenir une description de ce membre, consultez IndexOf(Object).

IList.Insert(Int32, Object)

Pour obtenir une description de ce membre, consultez Insert(Int32, Object).

IList.IsFixedSize

Pour obtenir une description de ce membre, consultez IsFixedSize.

IList.IsReadOnly

Pour obtenir une description de ce membre, consultez IsReadOnly.

IList.Item[Int32]

Pour obtenir une description de ce membre, consultez la classe IList.

IList.Remove(Object)

Pour obtenir une description de ce membre, consultez Remove(Object).

IList.RemoveAt(Int32)

Pour obtenir une description de ce membre, consultez RemoveAt(Int32).

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à

Voir aussi