Я пытаюсь найти способ легко определить, было ли внесено изменение в элемент управления winform. Этот подход работает, но он не предоставляет информации о том, какие элементы управления были изменены. Есть ли способ переопределить событие TextChanged, чтобы оно прошло, и EventArg, который содержит имя элемента управления, который вызвал событие? Когда AccountChangedHandler выполняется, параметр отправителя содержит информацию о текстовом поле, такую как текущее значение свойства .Text, но я не вижу ничего о том, какой элемент управления вызвал событие.
private bool _dataChanged = false;
internal TestUserControl()
{
InitializeComponent();
txtBillAddress1.TextChanged += new System.EventHandler(AccountChangedHandler);
txtBillAddress2.TextChanged += new System.EventHandler(AccountChangedHandler);
txtBillZip.TextChanged += new System.EventHandler(AccountChangedHandler);
txtBillState.TextChanged += new System.EventHandler(AccountChangedHandler);
txtBillCity.TextChanged += new System.EventHandler(AccountChangedHandler);
txtCountry.TextChanged += new System.EventHandler(AccountChangedHandler);
txtContactName.TextChanged += new System.EventHandler(AccountChangedHandler);
txtContactValue1.TextChanged += new System.EventHandler(AccountChangedHandler);
txtContactValue2.TextChanged += new System.EventHandler(AccountChangedHandler);
txtContactValue3.TextChanged += new System.EventHandler(AccountChangedHandler);
txtContactValue4.TextChanged += new System.EventHandler(AccountChangedHandler);
}
private void AccountChangedHandler(object sender, EventArgs e)
{
_dataChanged = true;
}