Leggere in inglese

Condividi tramite


LocalizationExtenderProvider Classe

Definizione

Attenzione

This class has been deprecated. Use CodeDomLocalizationProvider instead. http://go.microsoft.com/fwlink/?linkid=14202

Fornisce supporto in fase di progettazione per le funzionalità di localizzazione in una finestra di progettazione di primo livello.

C#
public class LocalizationExtenderProvider : IDisposable, System.ComponentModel.IExtenderProvider
C#
[System.Obsolete("This class has been deprecated. Use CodeDomLocalizationProvider instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
public class LocalizationExtenderProvider : IDisposable, System.ComponentModel.IExtenderProvider
Ereditarietà
LocalizationExtenderProvider
Attributi
Implementazioni

Esempio

Nell'esempio di codice seguente viene aggiunto un LocalizationExtenderProvider oggetto a un componente.

C#
// Adds a LocalizationExtenderProvider that provides localization support properties to the specified component.
extender = new LocalizationExtenderProvider(this.component.Site, this.component);

L'esempio di codice seguente include un componente di esempio e una finestra di progettazione. La finestra di progettazione usa un LocalizationExtenderProvider oggetto per aggiungere le proprietà di supporto per la localizzazione per il componente.

C#
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;

// This example demonstrates adding localization support to a component hierarchy from a 
// custom IRootDesigner using the LocalizationExtenderProvider class.
namespace LocalizationExtenderProviderExample
{	
    // RootViewDesignerComponent is a component associated with the SampleRootDesigner
    // IRootDesigner that provides LocalizationExtenderProvider localization support.
    // This derived class is included at the top of this example to enable 
    // easy launching of designer view without having to put the class in its own file.
    public class RootViewDesignerComponent : RootDesignedComponent
    {  
        public RootViewDesignerComponent()
        {            
        }
    }

    // The following attribute associates the RootDesignedComponent with the RootDesignedComponent component.
    [Designer(typeof(SampleRootDesigner), typeof(IRootDesigner))]
    public class RootDesignedComponent : Component
    {
        public RootDesignedComponent()
        {
        }    
    }

    // Example IRootDesigner implementation demonstrates LocalizationExtenderProvider support.
    internal class SampleRootDesigner : IRootDesigner
    {
        // RootDesignerView Control provides a full region designer view for this root designer's associated component.
        private RootDesignerView m_view;			
        // Stores reference to the LocalizationExtenderProvider this designer adds, in order to remove it on Dispose.
        private LocalizationExtenderProvider extender;        
        // Internally stores the IDesigner's component reference
        private IComponent component;                
        
        // Adds a LocalizationExtenderProvider for the component this designer is initialized to support.
        public void Initialize(System.ComponentModel.IComponent component)
        {
           this.component = component;
            
            // If no extender from this designer is active...
            if( extender == null )
            {
                // Adds a LocalizationExtenderProvider that provides localization support properties to the specified component.
                extender = new LocalizationExtenderProvider(this.component.Site, this.component);
            }
        }

        // Provides a RootDesignerView object that supports ViewTechnology.WindowsForms.
        object IRootDesigner.GetView(ViewTechnology technology) 
        {
            if (technology != ViewTechnology.WindowsForms)
            {
                throw new ArgumentException("Not a supported view technology", "technology");
            }
            if (m_view == null )
            {
                // Create the view control. In this example, a Control of type RootDesignerView is used.
                // A WindowsForms ViewTechnology view provider requires a class that inherits from Control.
                m_view = new RootDesignerView(this, this.Component);
            }
            return m_view;
        }

        // This designer supports the WindowsForms view technology.
        ViewTechnology[] IRootDesigner.SupportedTechnologies 
        {
            get
            {
                return new ViewTechnology[] {ViewTechnology.WindowsForms};
            }
        }
        
        // If a LocalizationExtenderProvider has been added, removes the extender provider.
        protected void Dispose(bool disposing)
        {            
            // If an extender has been added, remove it
            if( extender != null  )  
            {
                // Disposes of the extender provider.  The extender 
                // provider removes itself from the extender provider
                // service when it is disposed.
                extender.Dispose();
                extender = null;                
            }            
        }

        // Empty IDesigner interface property and method implementations
        public System.ComponentModel.Design.DesignerVerbCollection Verbs
        {
            get
            {
                return null;
            }
        }

        public System.ComponentModel.IComponent Component
        {
            get
            {
                return this.component;
            }
        }

        public void DoDefaultAction()
        {            
        }

        public void Dispose()
        {        
        }
        
        // RootDesignerView is a simple control that will be displayed in the designer window.
        private class RootDesignerView : Control
        {
            private SampleRootDesigner m_designer;   
            private IComponent comp;
            
            public RootDesignerView(SampleRootDesigner designer, IComponent component)
            {
                m_designer = designer;                        
                this.comp = component;      
                BackColor = Color.Blue;
                Font = new Font(FontFamily.GenericMonospace, 12);
            }

            // Displays the name of the component and the name of the assembly of the component 
            // that this root designer is providing support for.
            protected override void OnPaint(PaintEventArgs pe)
            {
                base.OnPaint(pe);

                if( m_designer != null && comp != null )
                {
                    // Draws the name of the component in large letters.
                    pe.Graphics.DrawString("Root Designer View", Font, Brushes.Yellow, 8, 4);                    
                    pe.Graphics.DrawString("Design Name  : "+comp.Site.Name, new Font("Arial", 10), Brushes.Yellow, 8, 28);                    
                    pe.Graphics.DrawString("Assembly    : "+comp.GetType().AssemblyQualifiedName, new Font("Arial", 10), Brushes.Yellow, new Rectangle(new Point(8, 44), new Size(ClientRectangle.Width-8, ClientRectangle.Height-44)));                   

                    // Uses the site of the component to acquire an ISelectionService and sets the property grid focus to the component.
                    ISelectionService selectionService = (ISelectionService)comp.Site.GetService(typeof(ISelectionService));
                    if( selectionService != null )                
                        selectionService.SetSelectedComponents( new IComponent[] { m_designer.component } );             
                }
            }
        }
    }
}

Commenti

LocalizationExtenderProvider può estendere un IRootDesigner oggetto con un set di proprietà e metodi che forniscono supporto per l'architettura di localizzazione di .NET Framework. Per altre informazioni sull'uso delle risorse, vedere Localizzazione.

L'architettura di supporto della localizzazione consente ai progettisti di inizializzare le proprietà dei componenti usando file di risorse che possono essere scambiati in fase di esecuzione per supportare diverse lingue, stili specifici delle impostazioni cultura e funzionalità configurabili in modo dinamico. È possibile usare i metodi di questa classe per consentire alle finestre di progettazione e al codice di generare serializzatori da caricare dalle risorse e compilare codice di inizializzazione che usa le funzionalità di localizzazione.

I serializzatori predefiniti forniti con Visual Studio sono già in grado di localizzare componenti e controlli, ma lo fanno solo se individuano il supporto per l'architettura di localizzazione di .NET Framework. Per rilevare la presenza del supporto per la localizzazione, il sistema di serializzazione deve individuare una proprietà pubblica Boolean denominata "Localizable" nel componente della finestra di progettazione radice. Se un serializzatore trova questa proprietà, cerca una proprietà di tipo CultureInfo denominata "Language" per determinare la configurazione della risorsa corrente. I serializzatori predefiniti usano queste proprietà per determinare se devono localizzare le risorse localizzabili del componente e, in tal caso, in quale CultureInfo formato devono essere salvate le informazioni sulla risorsa.

Costruttori

LocalizationExtenderProvider(ISite, IComponent)
Obsoleti.

Inizializza una nuova istanza della classe LocalizationExtenderProvider con il provider di servizi e il componente di base specificati.

Metodi

CanExtend(Object)
Obsoleti.

Indica se questo oggetto può fornire le proprietà di estensione all'oggetto specificato.

Dispose()
Obsoleti.

Elimina le risorse, diverse dalla memoria, usate dall'oggetto LocalizationExtenderProvider.

Dispose(Boolean)
Obsoleti.

Rilascia le risorse non gestite usate da LocalizationExtenderProvider e, facoltativamente, le risorse gestite.

Equals(Object)
Obsoleti.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLanguage(Object)
Obsoleti.

Ottiene le impostazioni cultura correnti delle risorse per l'oggetto specificato.

GetLoadLanguage(Object)
Obsoleti.

Ottiene le impostazioni cultura correnti delle risorse da utilizzare quando si inizializzano i valori di un oggetto localizzato in fase di progettazione.

GetLocalizable(Object)
Obsoleti.

Ottiene un valore che indica se l'oggetto specificato supporta la localizzazione delle risorse.

GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ResetLanguage(Object)
Obsoleti.

Reimposta le impostazioni cultura delle risorse per l'oggetto specificato.

SetLanguage(Object, CultureInfo)
Obsoleti.

Definisce le impostazioni cultura delle risorse correnti per l'oggetto specificato in base alle impostazioni cultura delle risorse specificate.

SetLocalizable(Object, Boolean)
Obsoleti.

Imposta un valore che indica se l'oggetto specificato supporta risorse localizzate.

ShouldSerializeLanguage(Object)
Obsoleti.

Ottiene un valore che indica se i valori localizzabili dell'oggetto specificato devono essere mantenuti in una risorsa.

ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Prodotto Versioni (Obsoleto)
.NET Framework 1.1 (2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1)