Решил таким костылем
private bool _isKeyDown;
void explorer_text_filter_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode != Keys.Enter)
_isKeyDown = true;
}
void explorer_text_filter_KeyUp(object sender, KeyEventArgs e)
{
if (!_isKeyDown && e.KeyCode == Keys.Enter && !search_button.Checked)
{
search_button.PerformClick();
}
_isKeyDown = false;
}
void explorer_text_filter_TextChanged(object sender, EventArgs e)
{
this.explorer_text_filter.KeyUp -= explorer_text_filter_KeyUp;
.....
_isKeyDown = true;
this.explorer_text_filter.KeyUp += explorer_text_filter_KeyUp;
}