Проверьте измененное свойство TextBox для события TextChanged.Если true, изменения были сделаны пользователем, в противном случае текст был изменен программно.
Пример:
void Texbox_TextChanged(object sender, EventArgs e)
{
if (((TextBox)sender).Modified)
TextboxUserInput();
}