private void BtnRegistrar_Click(object sender, EventArgs e) { Factory data = new Factory(); if (data.RegistrarOperacion(Convert.ToInt32(TxtEmpleadoId.Text), DateTime.Now)) { msg = new FrmMensaje("Operación registrada."); TimerMsg.Interval = 2000; TimerMsg.Start(); msg.StartPosition = FormStartPosition.CenterParent; msg.ShowDialog(this); } }
private void TimerMsg_Tick(object sender, EventArgs e) { if (msg != null) { TimerButton.Stop(); msg.Close(); msg = null; PanelEmpleado.Visible = false; TxtCodigoEmpleado.Enabled = true; TxtCodigoEmpleado.Text = ""; TxtCodigoEmpleado.Focus(); TimerMsg.Interval = 500; } else { TxtCodigoEmpleado.Focus(); TimerMsg.Stop(); } }
private void StartTimer(object key, object msg, TimeSpan timeout, TimeSpan initialDelay, bool repeat) { if (timers.TryGetValue(key, out var timer)) { CancelTimer(timer); } var nextGen = timerGen.Next(); ITimerMsg timerMsg; if (msg is INotInfluenceReceiveTimeout) { timerMsg = new TimerMsgNotInfluenceReceiveTimeout(key, nextGen, this); } else { timerMsg = new TimerMsg(key, nextGen, this); } ICancelable task; if (repeat) { task = ctx.System.Scheduler.ScheduleTellRepeatedlyCancelable(initialDelay, timeout, ctx.Self, timerMsg, ActorRefs.NoSender); } else { task = ctx.System.Scheduler.ScheduleTellOnceCancelable(timeout, ctx.Self, timerMsg, ActorRefs.NoSender); } var nextTimer = new Timer(key, msg, repeat, nextGen, task); ctx.System.Log.Debug("Start timer [{0}] with generation [{1}]", key, timerGen); timers[key] = nextTimer; }