上一个笔记结束的时候有个问题 没解决
今天又仔细看了一下MSDN,原来可以用DTE的自动化事件处理
大致流程如下:
OnConnect中添加如下代码
Events events = _applicationObject.Events; //获取vs2005事件集
slnEvents = (SolutionEvents)events.SolutionEvents; //得到解决方案事件集引用
// 为解决方案添加自动事件
slnEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(slnEvents_Opened);
slnEvents.BeforeClosing +=new _dispSolutionEvents_BeforeClosingEventHandler(slnEvents_BeforeClosing);
添加相应的事件委托,如
public void slnEvents_Opened(){
....
}
这样在打开一个解决方案的时候就会调用到自定义的函数
在OnDisConnect中要用 -= 去掉事件委托