Questa documentazione è stata archiviata e non viene gestita.

Metodo AxHost.SetAboutBoxDelegate

Aggiornamento: novembre 2007

Chiama il metodo ShowAboutBox che consente di visualizzare la finestra di dialogo Informazioni su associata al controllo ActiveX.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

protected void SetAboutBoxDelegate(
	AxHost..::.AboutBoxDelegate d
)
protected void SetAboutBoxDelegate(
	AxHost..::.AboutBoxDelegate d
)
protected function SetAboutBoxDelegate(
	d : AxHost..::.AboutBoxDelegate
)

Il metodo SetAboutBoxDelegate consente inoltre alle classi derivate di gestire il metodo ShowAboutBox senza l'associazione di un delegato. Si tratta della tecnica preferita per la gestione del metodo ShowAboutBox in una classe derivata.

Note per gli eredi:

Quando si esegue l'override del metodo SetAboutBoxDelegate in una classe derivata, è necessario assicurarsi di chiamare il metodo SetAboutBoxDelegate della classe base, in modo che i delegati registrati ricevano il metodo ShowAboutBox.

Nell'esempio di codice riportato di seguito viene eseguito l'override del costruttore e dei metodi SetAboutBoxDelegate e AttachInterfaces di una classe derivata AxHost che esegue il wrapping del controllo ActiveX Microsoft Masked Edit. In questo codice si presuppone che sia stato creato il codice sorgente generato eseguendo AxImp.exe sul file MSMask32.ocx con l'opzione /source per generare la classe wrapper da modificare. Questo codice è riportato solo in sintassi C# poiché questo è l'unico linguaggio di output di 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);
    }
}


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 e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0
Mostra: