次の方法で共有


SolutionEvents インターフェイス

ソリューションへの変更に対するイベントを提供します。 このオブジェクトを使用して機能を提供します。このオブジェクトのドキュメントについては、SolutionEventsClass のトピックを参照してください。

名前空間:  EnvDTE
アセンブリ:  EnvDTE (EnvDTE.dll 内)

構文

'宣言
<GuidAttribute("BF8BBF37-5415-46A9-940D-594CAD9DEC26")> _
Public Interface SolutionEvents _
    Inherits _SolutionEvents, _dispSolutionEvents_Event
[GuidAttribute("BF8BBF37-5415-46A9-940D-594CAD9DEC26")]
public interface SolutionEvents : _SolutionEvents, 
    _dispSolutionEvents_Event
[GuidAttribute(L"BF8BBF37-5415-46A9-940D-594CAD9DEC26")]
public interface class SolutionEvents : _SolutionEvents, 
    _dispSolutionEvents_Event
[<GuidAttribute("BF8BBF37-5415-46A9-940D-594CAD9DEC26")>]
type SolutionEvents =  
    interface
        interface _SolutionEvents
        interface _dispSolutionEvents_Event
    end
public interface SolutionEvents extends _SolutionEvents, _dispSolutionEvents_Event

SolutionEvents 型で公開されるメンバーは以下のとおりです。

メソッド

  名前 説明
パブリック メソッド add_AfterClosing インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド add_BeforeClosing インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド add_Opened インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド add_ProjectAdded インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド add_ProjectRemoved インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド add_ProjectRenamed インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド add_QueryCloseSolution インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド add_Renamed インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_AfterClosing インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_BeforeClosing インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_Opened インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_ProjectAdded インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_ProjectRemoved インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_ProjectRenamed インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_QueryCloseSolution インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック メソッド remove_Renamed インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)

このページのトップへ

イベント

  名前 説明
パブリック イベント AfterClosing インフラストラクチャ。 マイクロソフト内部でのみ使用します。 (_dispSolutionEvents_Event から継承されます。)
パブリック イベント BeforeClosing インフラストラクチャ。 マイクロソフト内部でのみ使用。 (_dispSolutionEvents_Event から継承されます。)
パブリック イベント Opened インフラストラクチャ。 マイクロソフト内部でのみ使用。 (_dispSolutionEvents_Event から継承されます。)
パブリック イベント ProjectAdded インフラストラクチャ。 マイクロソフト内部でのみ使用。 (_dispSolutionEvents_Event から継承されます。)
パブリック イベント ProjectRemoved インフラストラクチャ。 マイクロソフト内部でのみ使用。 (_dispSolutionEvents_Event から継承されます。)
パブリック イベント ProjectRenamed インフラストラクチャ。 マイクロソフト内部でのみ使用。 (_dispSolutionEvents_Event から継承されます。)
パブリック イベント QueryCloseSolution インフラストラクチャ。 マイクロソフト内部でのみ使用。 (_dispSolutionEvents_Event から継承されます。)
パブリック イベント Renamed インフラストラクチャ。 マイクロソフト内部でのみ使用。 (_dispSolutionEvents_Event から継承されます。)

このページのトップへ

解説

SolutionEvents オブジェクトは、ソリューションを閉じる前にスコープ外に移動し、ガベージ コレクトされます。 このオブジェクトへの参照を保持するには、ソリューションのイベント ハンドラーを実装するクラスでプライベート変数を宣言します。

public class Connect : IDTExtensibility2
{
    private SolutionEvents _solnEvents;

    public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
        _applicationObject = (DTE2)application;
        _addInInstance = (AddIn)addInInst;

        _solnEvents = _applicationObject.Events.SolutionEvents;

        _solutionBeforeClosingEventHandler = new _dispSolutionEvents_BeforeClosingEventHandler(this.SolutionBeforeClosing);
        _solnEvents.BeforeClosing += _solutionBeforeClosingEventHandler;
    }

    private _dispSolutionEvents_BeforeClosingEventHandler _solutionBeforeClosingEventHandler

    private void SolutionBeforeClosing()
    {
        System.Windows.Forms.MessageBox.Show("SolutionBeforeClosing");
    }
}

参照

参照

EnvDTE 名前空間