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