TextChanged is a event which you should use. Could you put some kind of length validation into TextChanged event and automatically filter read message when length is correct?
If barcode scanner sends line change ("ENTER") after barcode is read, you could call filterting when "enter" is read. This can be handled at "KeyPress" event. Add "CheckEnter" event handler to textbox which will contain read barcode.
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckEnter);
Now we have to create a method called CheckEnter.
private void CheckEnter(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
// We got an enter key. Call TextBox filtering here.
}
}