Creamos una bandera para saber si se presiono la tecla tabuladora o la tecla shift, tambien nos servira para cuando el control de la fecha pierda el foco.
bool banderaFrom = false;
Activamos el evento KeyDown del control.
void dateFrom_KeyDown(object sender, ystem.Windows.Forms.KeyEventArgs e) {
if (e.KeyCode != Keys.Tab && e.KeyCode != Keys.ShiftKey) {
banderaFrom = true;
dateFrom.EditValueChanged -= dateFrom_EditValueChanged;
}
else if (banderaFrom) {
banderaFrom = false;
dateFrom_EditValueChanged(sender, new EventArgs());
dateFrom.EditValueChanged += dateFrom_EditValueChanged;
}
}
Creamos el metodo LostFocus ya que este no se encuentra en el control:
void dateFrom_LostFocus(object sender, System.EventArgs e) {
BaseRuntime.Trace("hcecli", "histórico", "dateFrom_LostFocus");
if (banderaFrom) {
banderaFrom = false;
dateFrom_EditValueChanged(sender, new EventArgs());
dateFrom.EditValueChanged += dateFrom_EditValueChanged;
}
}
Pegamos al control en la parte del Designer el evento de la siguiente forma:
this.dateFrom.LostFocus += new System.EventHandler(this.dateFrom_LostFocus);




