Este tema aún no ha recibido ninguna valoración - Valorar este tema

AxHost.AboutBoxDelegate (Delegado)

Actualización: noviembre 2007

Representa el método que mostrará un cuadro de diálogo Acerca de de un control ActiveX.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
protected delegate void AboutBoxDelegate()
/** @delegate */
protected delegate void AboutBoxDelegate()
JScript no admite delegados.

El AxHost.AboutBoxDelegate posibilita que se le envíe una notificación cuando se vaya a mostrar el cuadro de diálogo Acerca de del control ActiveX. Se ejecuta un código agregado al método delegado antes de que se muestre el cuadro de diálogo Acerca de.

Al crear un delegado AxHost.AboutBoxDelegate, se identifica el método que controlará la presentación de un cuadro de diálogo Acerca de de un control ActiveX, si tiene alguno. Para asociar el método al controlador, hay que agregar una instancia del delegado al método. Siempre que se llame al método se llamará al controlador, a menos que se quite el delegado. Para obtener más información acerca de delegados, vea Eventos y delegados.

En el siguiente ejemplo 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 supone que se ha creado el código de origen 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 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);
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar