DesignerAutoFormatCollection DesignerAutoFormatCollection DesignerAutoFormatCollection DesignerAutoFormatCollection Class

Definição

Representa uma coleção de objetos DesignerAutoFormat em um designer de controle.Represents a collection of DesignerAutoFormat objects within a control designer. Essa classe não pode ser herdada.This class cannot be inherited.

public ref class DesignerAutoFormatCollection sealed : System::Collections::IList
public sealed class DesignerAutoFormatCollection : System.Collections.IList
type DesignerAutoFormatCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public NotInheritable Class DesignerAutoFormatCollection
Implements IList
Herança
DesignerAutoFormatCollectionDesignerAutoFormatCollectionDesignerAutoFormatCollectionDesignerAutoFormatCollection
Implementações

Exemplos

O exemplo de código a seguir demonstra como implementar AutoFormats a propriedade em um designer de controle personalizado.The following code example demonstrates how to implement the AutoFormats property in a custom control designer. O designer de controle derivado implementa AutoFormats a propriedade Adicionando três instâncias de um formato automático personalizado que são derivadas DesignerAutoFormat da classe.The derived control designer implements the AutoFormats property by adding three instances of a custom automatic format that are derived from the DesignerAutoFormat class.

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

namespace CustomControls.Design.CS
{
	// A custom Label control whose contents can be indented
    [Designer(typeof(IndentLabelDesigner)), 
        ToolboxData("<{0}:IndentLabel Runat=\"server\"></{0}:IndentLabel>")]
    public class IndentLabel : Label
    {
        private int _indent = 0;

        // Property to indent all text within the label
        [Category("Appearance"), DefaultValue(0), 
            PersistenceMode(PersistenceMode.Attribute)]
        public int Indent
        {
            get { return _indent; }
            set
            {
                _indent = value;
                // Get the number of pixels to indent
                int ind = value * 8;

                //  Add the indent style to the control
                if (ind > 0)
                    this.Style.Add(HtmlTextWriterStyle.MarginLeft, ind.ToString() + "px");
                else
                    this.Style.Remove(HtmlTextWriterStyle.MarginLeft);
            }
        }
    }


	// A design-time ControlDesigner for the IndentLabel control
    [SupportsPreviewControl(true)]
    public class IndentLabelDesigner : LabelDesigner
    {
        private DesignerAutoFormatCollection _autoFormats = null;

		// The collection of AutoFormat objects for the IndentLabel object
        public override DesignerAutoFormatCollection AutoFormats
        {
            get
            {
                if (_autoFormats == null)
                {
					// Create the collection
                    _autoFormats = new DesignerAutoFormatCollection();

					// Create and add each AutoFormat object
                    _autoFormats.Add(new IndentLabelAutoFormat("MyClassic"));
                    _autoFormats.Add(new IndentLabelAutoFormat("MyBright"));
                    _autoFormats.Add(new IndentLabelAutoFormat("Default"));
                }
                return _autoFormats;
            }
        }

	    // An AutoFormat object for the IndentLabel control
        private class IndentLabelAutoFormat : DesignerAutoFormat
        {
		    public IndentLabelAutoFormat(string name) : base(name)
		    { }

		    // Applies styles based on the Name of the AutoFormat
            public override void Apply(Control inLabel)
            {
                if (inLabel is IndentLabel)
                {
                    IndentLabel ctl = (IndentLabel)inLabel;

				    // Apply formatting according to the Name
                    if (this.Name == "MyClassic")
                    {
					    // For MyClassic, apply style elements directly to the control
                        ctl.ForeColor = Color.Gray;
                        ctl.BackColor = Color.LightGray;
                        ctl.Font.Size = FontUnit.XSmall;
                        ctl.Font.Name = "Verdana,Geneva,Sans-Serif";
                    }
                    else if (this.Name == "MyBright")
                    {
					    // For MyBright, apply style elements to the Style property
                        this.Style.ForeColor = Color.Maroon;
					    this.Style.BackColor = Color.Yellow;
					    this.Style.Font.Size = FontUnit.Medium;

					    // Merge the AutoFormat style with the control's style
					    ctl.MergeStyle(this.Style);
                    }
                    else
                    {
					    // For the Default format, apply style elements to the control
                        ctl.ForeColor = Color.Black;
                        ctl.BackColor = Color.Empty;
                        ctl.Font.Size = FontUnit.XSmall;
                    }
                }
            }
        }
    }
}
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.Design
Imports System.Web.UI.Design.WebControls
Imports System.Web.UI.WebControls

Namespace CustomControls.Design

    ' A custom Label control whose contents can be indented
    <Designer(GetType(IndentLabelDesigner)), _
        ToolboxData("<{0}:IndentLabel Runat=""server""></{0}:IndentLabel>")> _
    Public Class IndentLabel
        Inherits System.Web.UI.WebControls.Label

        Dim _indent As Integer = 0

        <Category("Appearance"), DefaultValue(0), _
            PersistenceMode(PersistenceMode.Attribute)> _
        Property Indent() As Integer
            Get
                Return _indent
            End Get
            Set(ByVal Value As Integer)
                _indent = Value

                ' Get the number of pixels to indent
                Dim ind As Integer = _indent * 8

                ' Add the indent style to the control
                If ind > 0 Then
                    Me.Style.Add(HtmlTextWriterStyle.MarginLeft, ind.ToString() & "px")
                Else
                    Me.Style.Remove(HtmlTextWriterStyle.MarginLeft)
                End If
            End Set
        End Property

    End Class

    ' A design-time ControlDesigner for the IndentLabel control
    Public Class IndentLabelDesigner
        Inherits LabelDesigner

        Private _autoFormats As DesignerAutoFormatCollection = Nothing
        ' The collection of AutoFormat objects for the IndentLabel object
        Public Overrides ReadOnly Property AutoFormats() As DesignerAutoFormatCollection
            Get
                If _autoFormats Is Nothing Then
                    ' Create the collection
                    _autoFormats = New DesignerAutoFormatCollection()

                    ' Create and add each AutoFormat object
                    _autoFormats.Add(New IndentLabelAutoFormat("MyClassic"))
                    _autoFormats.Add(New IndentLabelAutoFormat("MyBright"))
                    _autoFormats.Add(New IndentLabelAutoFormat("Default"))
                End If

                Return _autoFormats
            End Get
        End Property

        ' An AutoFormat object for the IndentLabel control
        Public Class IndentLabelAutoFormat
            Inherits DesignerAutoFormat

            Public Sub New(ByVal name As String)
                MyBase.New(name)
            End Sub

            ' Applies styles based on the Name of the AutoFormat
            Public Overrides Sub Apply(ByVal inLabel As Control)
                If TypeOf inLabel Is IndentLabel Then
                    Dim ctl As IndentLabel = CType(inLabel, IndentLabel)

                    ' Apply formatting according to the Name
                    If Me.Name.Equals("MyClassic") Then
                        ' For MyClassic, apply style elements directly to the control
                        ctl.ForeColor = Color.Gray
                        ctl.BackColor = Color.LightGray
                        ctl.Font.Size = FontUnit.XSmall
                        ctl.Font.Name = "Verdana,Geneva,Sans-Serif"
                    ElseIf Me.Name.Equals("MyBright") Then
                        ' For MyBright, apply style elements to the Style object
                        Me.Style.ForeColor = Color.Maroon
                        Me.Style.BackColor = Color.Yellow
                        Me.Style.Font.Size = FontUnit.Medium

                        ' Merge the AutoFormat style with the control's style
                        ctl.MergeStyle(Me.Style)
                    Else
                        ' For the Default format, apply style elements to the control
                        ctl.ForeColor = Color.Black
                        ctl.BackColor = Color.Empty
                        ctl.Font.Size = FontUnit.XSmall
                    End If
                End If
            End Sub
        End Class
    End Class

End Namespace

Comentários

A ControlDesigner classe e qualquer classe derivada definem AutoFormats a propriedade como DesignerAutoFormatCollection um objeto.The ControlDesigner class and any derived class defines the AutoFormats property as a DesignerAutoFormatCollection object. Os desenvolvedores de controle podem AutoFormats substituir a propriedade em um designer de controle derivado, adicionar estilos de formatação automática personalizados e retornar a coleção de formatos com suporte para o designer visual.Control developers can override the AutoFormats property in a derived control designer, add custom automatic formatting styles, and return the collection of supported formats to the visual designer.

A coleção aumenta dinamicamente à medida que os objetos são adicionados.The collection dynamically increases as objects are added. Os índices nesta coleção são baseados em zero.Indexes in this collection are zero-based. Use a Count propriedade para determinar quantos formatos de estilo automático estão na coleção.Use the Count property to determine how many automatic style formats are in the collection.

Além disso, use DesignerAutoFormatCollection os métodos e as propriedades para fornecer a seguinte funcionalidade:Additionally, use the DesignerAutoFormatCollection methods and properties to provide the following functionality:

  • O Add método para adicionar um único formato à coleção.The Add method to add a single format to the collection.

  • O Insert método para adicionar um formato em um índice específico dentro da coleção.The Insert method to add a format at a particular index within the collection.

  • O Remove método para remover um formato.The Remove method to remove a format.

  • O RemoveAt método para remover o formato em um índice específico.The RemoveAt method to remove the format at a particular index.

  • O Contains método para determinar se um determinado formato já está na coleção.The Contains method to determine whether a particular format is already in the collection.

  • O IndexOf método para recuperar o índice de um formato dentro da coleção.The IndexOf method to retrieve the index of a format within the collection.

  • A Item[Int32] propriedade para obter ou definir o formato em um índice específico, usando a notação de matriz.The Item[Int32] property to get or set the format at a particular index, using array notation.

  • O Clear método para remover todos os formatos da coleção.The Clear method to remove all formats from the collection.

  • A Count propriedade para determinar o número de formatos na coleção.The Count property to determine the number of formats in the collection.

  • O IndexOf método para obter a posição de um formato dentro da coleção.The IndexOf method to get the position of a format within the collection.

Construtores

DesignerAutoFormatCollection() DesignerAutoFormatCollection() DesignerAutoFormatCollection() DesignerAutoFormatCollection()

Inicializa uma nova instância da classe DesignerAutoFormatCollection.Initializes a new instance of the DesignerAutoFormatCollection class.

Propriedades

Count Count Count Count

Obtém o número de objetos DesignerAutoFormat na coleção.Gets the number of DesignerAutoFormat objects in the collection.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Obtém ou define um objeto DesignerAutoFormat no índice especificado na coleção.Gets or sets a DesignerAutoFormat object at the specified index in the collection.

PreviewSize PreviewSize PreviewSize PreviewSize

Obtém as dimensões externas máximas do controle como ele será exibido em tempo de execução.Gets the maximum outer dimensions of the control as it will appear at run time.

SyncRoot SyncRoot SyncRoot SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso ao objeto DesignerAutoFormatCollection.Gets an object that can be used to synchronize access to the DesignerAutoFormatCollection object.

Métodos

Add(DesignerAutoFormat) Add(DesignerAutoFormat) Add(DesignerAutoFormat) Add(DesignerAutoFormat)

Adiciona o objeto DesignerAutoFormat especificado ao final da coleção.Adds the specified DesignerAutoFormat object to the end of the collection.

Clear() Clear() Clear() Clear()

Remove todos os formatos da coleção.Removes all formats from the collection.

Contains(DesignerAutoFormat) Contains(DesignerAutoFormat) Contains(DesignerAutoFormat) Contains(DesignerAutoFormat)

Determina se o formato especificado está contido na coleção.Determines whether the specified format is contained within the collection.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(DesignerAutoFormat) IndexOf(DesignerAutoFormat) IndexOf(DesignerAutoFormat) IndexOf(DesignerAutoFormat)

Retorna o índice do objeto DesignerAutoFormat especificado na coleção.Returns the index of the specified DesignerAutoFormat object within the collection.

Insert(Int32, DesignerAutoFormat) Insert(Int32, DesignerAutoFormat) Insert(Int32, DesignerAutoFormat) Insert(Int32, DesignerAutoFormat)

Insere um objeto DesignerAutoFormat na coleção no índice especificado.Inserts a DesignerAutoFormat object into the collection at the specified index.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(DesignerAutoFormat) Remove(DesignerAutoFormat) Remove(DesignerAutoFormat) Remove(DesignerAutoFormat)

Remove o objeto DesignerAutoFormat especificado da coleção.Removes the specified DesignerAutoFormat object from the collection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Remove o objeto DesignerAutoFormat no índice especificado dentro da coleção.Removes the DesignerAutoFormat object at the specified index within the collection.

ToString() ToString() ToString() ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Copia os elementos da coleção para um objeto Array, começando em um determinado índice Array quando o objeto DesignerAutoFormatCollection é convertido para uma interface ICollection.Copies the elements of the collection to an Array object, starting at a particular Array index when the DesignerAutoFormatCollection object is cast to an ICollection interface.

ICollection.Count ICollection.Count ICollection.Count ICollection.Count

Obtém o número de elementos contidos na coleção quando o objeto DesignerAutoFormatCollection é convertido para uma interface ICollection.Gets the number of elements that are contained in the collection when the DesignerAutoFormatCollection object is cast to an ICollection interface.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Obtém um valor que indica se o acesso à coleção é sincronizado (thread-safe) quando o objeto DesignerAutoFormatCollection é convertido para uma interface ICollection.Gets a value that indicates whether access to the collection is synchronized (thread safe) when the DesignerAutoFormatCollection object is cast to an ICollection interface.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Retorna uma interface IEnumerator que itera pela coleção quando o objeto DesignerAutoFormatCollection é convertido para uma interface IEnumerable.Returns an IEnumerator interface that iterates through the collection when the DesignerAutoFormatCollection object is cast to an IEnumerable interface.

IList.Add(Object) IList.Add(Object) IList.Add(Object) IList.Add(Object)

Adiciona um item à coleção quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Adds an item to the collection when the DesignerAutoFormatCollection object is cast to an IList interface.

IList.Contains(Object) IList.Contains(Object) IList.Contains(Object) IList.Contains(Object)

Determina se a coleção contém um determinado valor quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Determines whether the collection contains a specific value when the DesignerAutoFormatCollection object is cast to an IList interface.

IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object)

Determina o índice de um item específico na coleção quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Determines the index of a specific item in the collection when the DesignerAutoFormatCollection object is cast to an IList interface.

IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object)

Insere um item na coleção no índice especificado quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Inserts an item into the collection at the specified index when the DesignerAutoFormatCollection object is cast to an IList interface.

IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize

Obtém um valor que indica se a coleção tem um tamanho fixo quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Gets a value that indicates whether the collection has a fixed size when the DesignerAutoFormatCollection object is cast to an IList interface.

IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly

Para obter uma descrição desse método, consulte IsReadOnly.For a description of this method, see IsReadOnly.

IList.Item[Int32] IList.Item[Int32] IList.Item[Int32] IList.Item[Int32]

Obtém o elemento no índice especificado quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Gets the element at the specified index when the DesignerAutoFormatCollection object is cast to an IList interface.

IList.Remove(Object) IList.Remove(Object) IList.Remove(Object) IList.Remove(Object)

Remove a primeira ocorrência de um objeto específico da coleção quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Removes the first occurrence of a specific object from the collection when the DesignerAutoFormatCollection object is cast to an IList interface.

IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32) IList.RemoveAt(Int32)

Remove o item no índice especificado quando o objeto DesignerAutoFormatCollection é convertido para uma interface IList.Removes the item at the specified index when the DesignerAutoFormatCollection object is cast to an IList interface.

Métodos de Extensão

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a

Veja também