Como saber se o usuário modificou os dados usando o bindingsource?

Eu tenho um DataGridView vinculado a um bindingsource que está vinculado a umList<T>. O usuário clica em uma linha que vai para um formulário com caixas de texto, etc. As caixas de texto são vinculadas à seguinte maneira:

if (txtID.DataBindings.Count == 0)
    txtID.DataBindings.Add("Text", bindingSource, "Title");

Quero poder detectar se o usuário modificou algum dado nos controles quando clicar no botão Fechar, para que eu possa solicitar que eles digam "Você tem trabalho não salvo. Deseja salvar?"

Como faço para detectar isso na fonte de ligação?

ATUALIZAR: Eu descobri que posso fazerbindingSource.EndEdit() que envia as alterações ao meu item na lista. No meu item, posso dizer se Dirty lança uma Messagebox, mas se elas clicarem em "Não" para salvar as informações, o CancelEdit não funcionará.

,

questionAnswers(11)

yourAnswerToTheQuestion