En C#, el evento cambiado para un control (por ejemplo, una actualización numérica) se activa si el usuario cambió el valor directamente o si se cambió programáticamente como resultado de algún otro evento.Determinar si el evento modificado se produjo a partir de la entrada del usuario o no
¿Hay alguna manera de determinar si el evento ocurrió como resultado de la entrada del usuario? Por ejemplo, tanto el cambio manual del valor de numericUpDown1 como el de hacer clic en el botón 1 mostrarán "value changed". ¿Qué ocurre si solo deseo mostrar el "valor cambiado" si se modificó haciendo que el usuario haga clic en las flechas arriba/abajo del control y no como resultado de hacer clic en el botón 1?
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
MessageBox.Show("value changed");
}
private void button1_Click_1(object sender, EventArgs e)
{
numericUpDown1.Value = 3;
}
+1 para la 'mejor práctica' idea. Estoy teniendo el mismo problema: configurar un campo afecta a todos los demás. Agregué muchas salidas tempranas para que los eventos solo se disparen si los datos subyacentes difieren, y la lógica se desenreda. – ojrac