Exportar (0) Imprimir
Expandir todo

AxHost (Clase)

Ajusta los controles ActiveX y los expone como controles completos de formularios Windows Forms.

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

[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public abstract class AxHost : Control, ISupportInitialize, ICustomTypeDescriptor
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public abstract class AxHost extends Control implements ISupportInitialize, ICustomTypeDescriptor
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public abstract class AxHost extends Control implements ISupportInitialize, ICustomTypeDescriptor
No aplicable.

Normalmente, no se utiliza la clase AxHost directamente. Puede utilizar Importador de controles ActiveX de formularios Windows Forms (Aximp.exe) para generar los contenedores que amplían AxHost.

El Importador de controles ActiveX genera una clase derivada de la clase AxHost y la compila en un archivo de biblioteca (DLL) que puede agregarse como una referencia a la aplicación. Con el Importador de controles ActiveX, puede utilizarse también el modificador /source, por lo que se genera un archivo C# para la clase derivada AxHost. Después, pueden realizarse cambios en el código y puede volver a compilarse en un archivo de biblioteca.

NotaNota:

Si el nombre de un miembro de un control ActiveX coincide con un nombre definido en .NET Framework, el Importador de controles ActiveX agregará el prefijo "Ctl" al nombre del miembro cuando cree la clase derivada AxHost. Por ejemplo, si el control ActiveX tiene un miembro denominado "Layout", el nombre se cambia a "CtlLayout" en la clase derivada AxHost porque el evento Layout está definido dentro de .NET Framework.

La mayoría de las propiedades comunes de la clase AxHost sólo son válidas y pueden utilizarse si el control ActiveX subyacente expone dichas propiedades. Algunos ejemplos de las propiedades comunes son BackColor, Cursor, Font y Text.

NotaNota:

Si utiliza Visual Studio .NET como entorno de diseño de formularios Windows Forms, puede poner un control ActiveX a disposición de la aplicación mediante la adicción de dicho control al cuadro de herramientas. Para ello, haga clic con el botón secundario del mouse (ratón) en el Cuadro de herramientas, seleccione Personalizar cuadro de herramientas y, a continuación, busque el archivo .ocx del control ActiveX. Para obtener más información, vea "Agregar controles ActiveX a formularios Windows Forms” de la documentación de Visual Studio .NET.

En el siguiente ejemplo de código se reemplaza el constructor, así como los métodos SetAboutBoxDelegate y AttachInterfaces de una clase derivada AxHost que contiene el control ActiveX Masked Edit de Microsoft. En este código se requiere que se haya creado el código fuente generado ejecutando AxImp.exe en el archivo MSMask32.ocx con el modificador /source para generar la clase contenedora que se va a editar. Este código se muestra únicamente en sintaxis de C# ya que es el único lenguaje de Axlmp.exe.

public AxMaskEdBox()
    :
  base("c932ba85-4374-101b-a56c-00aa003668dc") // The ActiveX control's class identifier.
{
    // Make the AboutBox method the about box delegate.
    this.SetAboutBoxDelegate(new AboutBoxDelegate(AboutBox));
}

public virtual void AboutBox()
{
    // If the instance of the ActiveX control is null when the AboutBox method 
    // is called, raise an InvalidActiveXStateException exception.
    if ((this.ocx == null))
    {
        throw new System.Windows.Forms.AxHost.InvalidActiveXStateException(
          "AboutBox", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
    }
    // Show the about box if the ActiveX control has one.
    if (this.HasAboutBox)
    {
        this.ocx.AboutBox();
    }
}

protected override void AttachInterfaces()
{
    try
    {
        // Attach the IMSMask interface to the ActiveX control.
        this.ocx = ((MSMask.IMSMask)(this.GetOcx()));
    }
    catch (System.Exception ex)
    {
        System.Console.WriteLine(ex.Message);
    }
}

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
Mostrar:
© 2014 Microsoft