On another note, I would suggest that it's a very bad idea to filter on TextChanged or any other event that occurs on every keystroke. Let's say that the user wants data that contains "abcde". That means that you're going to filter the data five times when all you need is one. Particularly if the amount of data is large, that may actually degrade the user experience. I always suggest using a Timer and filtering on the Tick event of that. You can then reset the Timer on TextChanged and then filtering will only take place when the user stops or pauses typing. You need to get the Interval right so that they don't have to wait too long or slow typists get too many filters but a bit of trial and error can help there.
vb.net Code:
  1. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  2.     'Start or restart the filter timer.
  3.     Timer1.Stop()
  4.     Timer1.Start()
  5. End Sub
  6.  
  7. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  8.     Timer1.Stop()
  9.  
  10.     'Perform the filtering.
  11.     BindingSource1.Filter = $"SomeColumn LIKE '%{TextBox1.Text}%'"
  12. End Sub