Exportar (0) Imprimir
Expandir todo

ContainerControl (Clase)

Proporciona funcionalidad de administración de foco para controles que pueden funcionar como contenedores de otros controles.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class ContainerControl : ScrollableControl, IContainerControl
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class ContainerControl extends ScrollableControl implements IContainerControl
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class ContainerControl extends ScrollableControl implements IContainerControl
No aplicable.

ContainerControl representa un control que puede funcionar como contenedor de otros controles y proporciona la funcionalidad de administración de foco. Los controles que heredan de esta clase pueden realizar el seguimiento del control activo que contienen, incluso cuando el foco se mueve a algún lugar de un contenedor diferente.

Los objetos ContainerControl proporcionan un límite lógico para los controles que contienen. El control contenedor puede capturar la presión de la tecla TAB y mover el foco al siguiente control de la colección.

NotaNota:

El control contenedor no recibe el foco, sino que el foco siempre se establece en el primer control secundario de la colección de controles contenidos.

Habitualmente, no se hereda de la clase ContainerControl directamente. Las clases Form, UserControl y UpDownBase heredan de ContainerControl.

El siguiente ejemplo de código se hereda de la clase ScrollableControl e implementa la interfaz IContainerControl. Se agrega la implementación a la propiedad ActiveControl y al método ActivateControl.

using System;
using System.Windows.Forms;
using System.Drawing;

	public class MyContainer : ScrollableControl, IContainerControl
	{
		private Control activeControl;
		public MyContainer() 
		{
			// Make the container control Blue so it can be distinguished on the form.
			this.BackColor = Color.Blue;
			
			// Make the container scrollable.
			this.AutoScroll = true;
		}

		// Add implementation to the IContainerControl.ActiveControl property.
		public Control ActiveControl
		{
			get
			{
				return activeControl;
			}

			set
			{
				// Make sure the control is a member of the ControlCollection.
				if(this.Controls.Contains(value))
				{
					activeControl = value;
				}
			}
		}

		// Add implementations to the IContainerControl.ActivateControl(Control) method.
		public bool ActivateControl(Control active)
		{
			if(this.Controls.Contains(active))
			{
				// Select the control and scroll the control into view if needed.
				active.Select();
				this.ScrollControlIntoView(active);
				this.activeControl = active;
				return true;
			}
			return false;
		}
	}

import System.*;
import System.Windows.Forms.*;
import System.Drawing.*;

public class MyContainer extends ScrollableControl implements IContainerControl
{
    private Control activeControl;

    public MyContainer()
    {
        // Make the container control Blue so it can be 
        // distinguished on the form.
        this.set_BackColor(Color.get_Blue());

        // Make the container scrollable.
        this.set_AutoScroll(true);
    } //MyContainer

    // Add implementation to the IContainerControl.ActiveControl property.
    /** @property 
     */
    public Control get_ActiveControl()
    {
        return activeControl;
    } //get_ActiveControl

    /** @property 
     */
    public void set_ActiveControl(Control value)
    {
        // Make sure the control is a member of the ControlCollection.
        if (this.get_Controls().Contains(value)) {
            activeControl = value;
        }
    } //set_ActiveControl

    // Add implementations to the IContainerControl.
    // ActivateControl(Control) method.
    public boolean ActivateControl(Control active)
    {
        if (this.get_Controls().Contains(active)) {
            // Select the control and scroll the control into view if needed.
            active.Select();
            this.ScrollControlIntoView(active);
            this.activeControl = active;
            return true;
        }

        return false;
    } //ActivateControl
} //MyContainer

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.ScrollableControl
          System.Windows.Forms.ContainerControl
             Clases derivadas

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Mostrar:
© 2014 Microsoft