I found its solution from esri site only, some times back...
I was using ArcMap 9.3, I was having selected FID of feature...then tried this and it worked
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim str
Dim pFeatureLayerLayer As IFeatureLayer
Dim pActiveView As IActiveView
Dim pFeatureSelection As IFeatureSelection
Dim pQueryFilter As IQueryFilter
pActiveView = pMap
pQueryFilter = New QueryFilter
pFeatureSelection = pFeatureLayer
str = "FID" & " = " & ComboBox2.SelectedIndex
pQueryFilter.WhereClause = str
'Invalidate only the selection cache
'Flag the original selection
pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, Nothing)
'Perform the selection
pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultNew, False)
'Flag the new selection
pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, Nothing)
ZoomToSelected(2, True) 'modify last two arguments here to change zoom expansion
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "ERROR")
Exit Sub
End Try
End Sub
Public Sub ZoomToSelected(ByVal expandFactor As Double, ByVal bAsRatio As Boolean)
Dim pDoc As IMxDocument
pDoc = pMxDoc
Dim pEnumFeat As IEnumFeature
pEnumFeat = pDoc.FocusMap.FeatureSelection
Dim pEnv As IEnvelope
pEnumFeat.Reset()
Dim pFeat As IFeature
pFeat = pEnumFeat.Next
Do Until pFeat Is Nothing
If pEnv Is Nothing Then
pEnv = pFeat.Shape.Envelope
Else
pEnv.Union(pFeat.Shape.Envelope)
End If
pFeat = pEnumFeat.Next
Loop
If pEnv Is Nothing Then
MsgBox("no selection")
Exit Sub
End If
Dim pActiveView As IActiveView
pActiveView = pDoc.ActiveView
Dim pCP As IPoint
If pEnv.Width <> 0 Or pEnv.Height <> 0 Then
pEnv.Expand(expandFactor, expandFactor, bAsRatio)
pActiveView.Extent = pEnv
Else
' if it's a point, leave current extent size, and just center on it
' you can do something else here if you want
pCP = New Point
pCP.PutCoords(0.5 * (pEnv.XMax + pEnv.XMin), 0.5 * (pEnv.YMax + pEnv.YMin))
pEnv = pActiveView.Extent
pEnv.CenterAt(pCP)
pActiveView.Extent = pEnv
End If
pActiveView.Refresh()
End Sub