AxHost.SetAboutBoxDelegate(AxHost+AboutBoxDelegate) Método

Definición

Llama al método ShowAboutBox() que mostrará el cuadro de diálogo Acerca de para el control ActiveX.Calls the ShowAboutBox() method to display the ActiveX control's About dialog box.

protected:
 void SetAboutBoxDelegate(System::Windows::Forms::AxHost::AboutBoxDelegate ^ d);
protected void SetAboutBoxDelegate (System.Windows.Forms.AxHost.AboutBoxDelegate d);
member this.SetAboutBoxDelegate : System.Windows.Forms.AxHost.AboutBoxDelegate -> unit
Protected Sub SetAboutBoxDelegate (d As AxHost.AboutBoxDelegate)

Parámetros

Ejemplos

En el ejemplo de código siguiente se invalida el constructor y los SetAboutBoxDelegate AttachInterfaces métodos y de una AxHost clase derivada que contiene el control ActiveX de edición enmascarada de Microsoft.The following code example overrides the constructor, and the SetAboutBoxDelegate and AttachInterfaces methods of an AxHost derived class that wraps the Microsoft Masked Edit ActiveX Control. Este código requiere que se haya creado el código fuente generado ejecutando el AxImp.exe en el archivo MSMask32. ocx con el /source modificador para generar la clase contenedora que se va a editar.This code requires that you have created the generated source code by running the AxImp.exe on the MSMask32.ocx file with the /source switch to generate the wrapper class to be edited. Este código solo se muestra en la sintaxis de C# porque es la única salida de lenguaje de la AxImp.exe.This code is only shown in C# syntax because that is the only language output by the AxImp.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);
    }
}

Comentarios

El SetAboutBoxDelegate método también permite que las clases derivadas controlen el ShowAboutBox método sin asociar un delegado.The SetAboutBoxDelegate method also allows derived classes to handle the ShowAboutBox method without attaching a delegate. Esta es la técnica preferida para controlar el ShowAboutBox método en una clase derivada.This is the preferred technique for handling the ShowAboutBox method in a derived class.

Notas a los desarrolladores de herederos

Al reemplazar SetAboutBoxDelegate(AxHost+AboutBoxDelegate) en una clase derivada, asegúrese de llamar al método de la clase base SetAboutBoxDelegate(AxHost+AboutBoxDelegate) para que los delegados registrados reciban el ShowAboutBox() método.When overriding SetAboutBoxDelegate(AxHost+AboutBoxDelegate) in a derived class, be sure to call the base class's SetAboutBoxDelegate(AxHost+AboutBoxDelegate) method so that registered delegates receive the ShowAboutBox() method.

Se aplica a

Consulte también