/// <summary> /// 判定在经过一个Form Timer周期,F2键依然判定为弹起,结束F2长按处理Timer /// </summary> private void handleF2PressProsessingSetFalse() { if (this.InvokeRequired) { handleF2PressProcessingDelegate hf2 = new handleF2PressProcessingDelegate(handleF2PressProsessingSetFalse); this.Invoke(hf2); } else { if (ifF2Press) { TimeSpan ts = DateTime.Now - ifF2PressTime; if (ts.TotalMilliseconds > 100) { FrmVoiceSpeaker.ifF2PressProsessing = false; UpdateF2Button(false); checkF2HotKey.Stop(); TimeSpan tts = DateTime.Now - ifF2FirstPressTime; logger.Info("松开F2热键,停止发送语音。更新Button样式为白底蓝字。"); logger.Info("本次按键持续时间为:{0}分{1}秒{2}毫秒。", tts.Minutes, tts.Seconds, tts.Milliseconds); HotKey.UnregisterHotKey(Handle, 100); UpdateBeginButton(isBegin); logger.Info("松开F2热键之后,取消注册热键。"); } } } }
/// <summary> /// 判定在经过一个Form Timer周期,F2键依然判定为弹起,结束F2长按处理Timer /// </summary> private void handleF2PressProsessingSetFalse() { if (this.InvokeRequired) { handleF2PressProcessingDelegate hf2 = new handleF2PressProcessingDelegate(handleF2PressProsessingSetFalse); this.Invoke(hf2); } else { if (!ifF2Press) { TimeSpan ts = DateTime.Now - ifF2PressTime; if (ts.TotalMilliseconds > 600) { MainForm.ifF2PressProsessing = false; this.richTextBox1.Text += "F2 unpress.time is " + DateTime.Now.ToString() + "\r\n"; checkF2HotKey.Stop(); } } } }