This documentation is archived and is not being maintained.

BindingSource.Find Method (PropertyDescriptor, Object)

Searches for the index of the item that has the given property descriptor.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in

public virtual int Find (
	PropertyDescriptor prop,
	Object key
public int Find (
	PropertyDescriptor prop, 
	Object key
public function Find (
	prop : PropertyDescriptor, 
	key : Object
) : int
Not applicable.



The PropertyDescriptor to search for.


The value of prop to match.

Return Value

The zero-based index of the item that has the given value for PropertyDescriptor.

Exception typeCondition


The underlying list is not of type IBindingList.

This method is typically used in complex data-binding cases to locate the first row where the value of the field specified by the prop parameter equals the value of the key parameter

This method simply refers the request to the underlying list's IBindingList.Find method. For example, if the underlying data source is a DataSet, DataTable, or DataView, this method calls the System.Data.DataView.System#ComponentModel#IBindingList#Find(System.ComponentModel.PropertyDescriptor,System.Object) method. The behavior of IBindingList.Find, such as the value returned if no matching item is found, depends on the implementation of the method in the underlying list.

The following code example demonstrates how to use the Find method. For the complete example see the class overview topic.

private void button1_Click(object sender, EventArgs e)
    if (binding1.SupportsSearching != true)
        MessageBox.Show("Cannot search the list.");
        int foundIndex = binding1.Find("Name", textBox1.Text);
        if (foundIndex > -1)
            listBox1.SelectedIndex = foundIndex;
            MessageBox.Show("Font was not found.");

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

.NET Compact Framework

Supported in: 2.0