Below is the code, i hope it will helpful
Public Class pAttributeQuery
Private m_pmapcontrol As IMapControl2
#Region "Private Variables"
Private _strExpression As String
'Private _aryFieldNames As Array
Private _strPrimaryField As String
#End Region
#Region "Public Events"
Public Event ExpressionChanged(ByVal sender As Object, ByVal e As ExpressionChangeEventArgs)
#End Region
Public Sub pAttributeQuery_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'im plnam As String = PlyrName.SelectedIndex
For i As Integer = 0 To GTZform.AxMapControl1.LayerCount - 1
Dim play As ILayer = GTZform.AxMapControl1.get_Layer(i)
PlyrName.Items.Add(play.Name)
PlyrName.SelectedIndex = 0
Next
End Sub
Private Sub PlyrName_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlyrName.SelectedIndexChanged
Dim plyr As ILayer = GTZform.AxMapControl1.get_Layer(PlyrName.SelectedIndex)
Dim plyrFil As ILayerFields
plyrFil = plyr
pID.Items.Clear()
Dim ii As Integer
For ii = 0 To plyrFil.FieldCount - 1
Dim pfield As IField = plyrFil.Field(ii)
pID.Items.Add(pfield.Name)
Next
End Sub
Private Sub pID_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pID.SelectedIndexChanged
Dim fl As IFeatureLayer = GTZform.AxMapControl1.get_Layer(PlyrName.SelectedIndex)
Dim il As ILayerFields = fl
Dim i As Long
i = il.FindField(pID.SelectedItem)
pIDFieldEXP.Items.Clear()
Dim fcc As IFeatureCursor = fl.Search(Nothing, False)
Dim ff As IFeature = fcc.NextFeature
Do Until ff Is Nothing
pIDFieldEXP.Items.Add(ff.Value(i))
ff = fcc.NextFeature
Loop
End Sub
Private Sub AddFieldToExpression(ByVal strField As String)
Dim strExpression As String = txtExpression.Text.Trim
'If strExpression = "" Then
' _strExpression = """" + strField.Trim + """" + ""
'Else
' _strExpression = _strExpression + " & "" "" & """"" + strField.Trim + """" + ""
'End If
txtExpression.Text = _strExpression
'"OBJECTID" & " " & [Shape_Length]
End Sub
Private Sub pID_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles pID.DoubleClick
AddFieldToExpression(pID.SelectedItem.ToString)
End Sub
Private Sub pIDFieldEXP_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles pIDFieldEXP.DoubleClick
'AddFieldToExpression(pIDFieldEXP.SelectedItem.ToString)
txtExpression.Text = txtExpression.Text + pIDFieldEXP.SelectedItem.ToString
End Sub
Private Sub pClean_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
'txtExpression.Text = ""
'AddFieldToExpression(_strPrimaryField)
End Sub
Private Sub pCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pCancel.Click
Me.Dispose()
End Sub
Private Sub pApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pApply.Click
Dim pEQuearyRes As String = txtExpression.Text
Dim pfeaturelayer As ESRI.ArcGIS.Carto.IFeatureLayer
pfeaturelayer = GTZform.AxMapControl1.get_Layer(PlyrName.SelectedIndex)
GTZform.AxMapControl1.Refresh()
Dim pfeatureclass As ESRI.ArcGIS.Geodatabase.IFeatureClass = pfeaturelayer.FeatureClass
'If pfeaturelayer IsNot Nothing Then
Dim pQuerfilter As ESRI.ArcGIS.Geodatabase.IQueryFilter = New ESRI.ArcGIS.Geodatabase.QueryFilterClass()
pQuerfilter.WhereClause = pEQuearyRes
Dim pfeatureselection As ESRI.ArcGIS.Carto.IFeatureSelection = TryCast(pfeaturelayer, ESRI.ArcGIS.Carto.IFeatureSelection) 'directcast
pfeatureselection.SelectFeatures(pQuerfilter, esriSelectionResultEnum.esriSelectionResultNew, False)
' End If
If pfeatureclass.FeatureCount(pQuerfilter) = Nothing Then
MessageBox.Show("No Items Selected")
Else
MessageBox.Show("No of Selected Items : " & pfeatureclass.FeatureCount(pQuerfilter))
End If
GTZform.AxMapControl1.ActiveView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGeoSelection, Nothing, Nothing)
End Sub
End Class
Public Class ExpressionChangeEventArgs
Inherits System.EventArgs
'' add local member variable to hold point label plcement angles
Private _strExpression As String
'' class constructor
Public Sub New(ByVal strExpression As String)
Me._strExpression = strExpression
End Sub
'' Return Expression
Public ReadOnly Property Expression() As String
Get
Return _strExpression
End Get
End Property
End Class