the below sub will label a point for you. I also gave the labels a name in the element properties in case i wanted to delete them later through code i could find them by name.
Public Sub ZoomToXY(ByVal pXYPoint As IPoint, ByVal pmap As IMap, ByVal pMx As IMxDocument)
Try
If pmap.SpatialReference Is Nothing Then
MsgBox("No data frame spatial reference detected." & vbNewLine _
& "This needs to be set first.", vbInformation)
Exit Sub
End If
Dim pCurrentSpatialRef As ISpatialReference
Dim pElement As IElement
Dim pMarkerElement As IMarkerElement
Dim pSimpleMarkerSymbol As ISimpleMarkerSymbol
Dim pEnv As IEnvelope
Dim pGC As IGraphicsContainer
Dim pTextElement As ITextElement
Dim pPointElemProp As IElementProperties
Dim pLabelElemProp As IElementProperties
pCurrentSpatialRef = pmap.SpatialReference
'create a new point based on the input WGS84 mouse clicked point and project
'to the map coordinate system
Dim pPoint As Point = New Point
pPoint.X = pXYPoint.X
pPoint.Y = pXYPoint.Y
pPoint.SpatialReference = pXYPoint.SpatialReference
pPoint.Project(pmap.SpatialReference)
Dim pColor As IRgbColor
pColor = New RgbColor
pColor.RGB = RGB(255, 0, 0)
pElement = New MarkerElement
pElement.Geometry = pPoint
pPointElemProp = pElement
pPointElemProp.Name = "XY Point"
'make the red cross for the xy point
pMarkerElement = pElement
pMarkerElement.Symbol = New SimpleMarkerSymbol
pSimpleMarkerSymbol = New SimpleMarkerSymbol
pSimpleMarkerSymbol.Color = pColor
pSimpleMarkerSymbol.Size = 8
pSimpleMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCross
pMarkerElement.Symbol = pSimpleMarkerSymbol
'zoom to to the red xy cross
pEnv = pMx.ActiveView.Extent
pEnv.CenterAt(pElement.Geometry)
pMx.ActiveView.Extent = pEnv
pmap.MapScale = pmap.MapScale
'add the xy point element
pGC = pMx.ActiveView
pGC.AddElement(pMarkerElement, 0)
pTextElement = New TextElement
'create the lat long text element
Dim pXYElement As IElement
pXYElement = pTextElement 'QI
pLabelElemProp = pXYElement
pLabelElemProp.Name = "XY Label"
pTextElement.Text = "Lat: " & Format(pXYPoint.X, ".0000000") & vbNewLine & "Long: " & Format(pXYPoint.Y, ".0000000")
'set the geometry to the projected point
pXYElement.Geometry = pPoint
'add it to the map as well
pGC.AddElement(pXYElement, 0)
pMx.ActiveView.Refresh()
Catch ex As Exception
MsgBox(ex.Message)
End Try