The TextChanged event will be fired only, when the value of textbox will change and cursor will be removed from textbox(Make sure that autopostback property of textbox is <blue>true). This doesn't matters that from where you are picking the texts, it can be both from user keyboard or history.
Refer this for more info :
MSDN : TextBox.TextChanged Event[
^]
Try reading
this[
^] also.
--Amit