I am using VB.Net. I believe the C# and VB handles this different.
Here is my VB code. I really hope this helps.
James
Private m_application As ESRI.ArcGIS.ArcMap.Application
Private m_pMap As IMap
Private m_pActiveView As IActiveView
Private m_pMxDoc As IMxDocument
Dim m_docEvents As IDocumentEvents_Event
Dim activeViewEvents As IActiveViewEvents_Event
Public Sub New()
m_application = My.ArcMap.ThisApplication
m_pMap = Mod1.GetMapFromArcMap(m_application)
m_pMxDoc = Mod1.GetMxDocumentFromArcMap(m_application)
m_pActiveView = Mod1.GetActiveViewFromArcMap(m_application)
activeViewEvents = TryCast(m_pMap, IActiveViewEvents_Event)
AddHandler activeViewEvents.ItemAdded, AddressOf LayersAdded
AddHandler activeViewEvents.ItemDeleted, AddressOf LayersDelete
AddHandler activeViewEvents.ContentsChanged, AddressOf TOCChanged
m_docEvents = CType(m_pMxDoc, IDocumentEvents_Event)
AddHandler m_docEvents.NewDocument, AddressOf OnNewDoc
AddHandler m_docEvents.OpenDocument, AddressOf OnOpenDoc
AddHandler m_docEvents.ActiveViewChanged, AddressOf OnActiveViewChange
End Sub
Sub LayersAdded()
MsgBox("LayersAdded")
End Sub
Sub LayersDelete()
MsgBox("LayersDelete")
End Sub
Sub TOCChanged()
MsgBox("TOCChanged")
End Sub
Sub OnNewDoc()
MsgBox("OnNewDoc")
End Sub
Sub OnOpenDoc()
MsgBox(" OnOpenDoc")
End Sub
Sub OnActiveViewChange()
MsgBox("OnActiveViewChange")
End Sub