using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using SunVoteARSPPT.Properties; using GeneralLib; using System.Threading; //using SunVoteARSPPT.Common; namespace SunVoteARSPPT { public partial class FrmRushAnswer : Form { private int count = 3;//倒计时次数 private bool canPressQD = false; /// /// 是否可开始抢答,用作外部判断屏蔽按键,解决和防止时间未到就收到键盘按键提前抢答。 /// 创建:杨斌 2011-08-18 /// public bool CanPressQD { get { return canPressQD; } private set { canPressQD = value; } } public FrmRushAnswer() { InitializeComponent(); } private bool isRunForm = false; /// /// 判断抢答窗体是否在运行。杨斌 2015-04-29 /// public bool IsRun { get { return isRunForm; } } private void FrmRushAnswer_Load(object sender, EventArgs e) { ControlOper.CenterForm(this, true);//杨斌 2014-09-16 //多语言初始化控件文本 //GlobalInfo.SysLanguage.SetLanguage(this.Name, this); this.Text = GlobalInfo.SysLanguage.LPT.ReadString(this.Name, "FrmRushAnswer", "抢答"); lblTitle.Text = GlobalInfo.SysLanguage.LPT.ReadString(this.Name, "lblTitle", "请准备抢答"); lblMsg.Text = GlobalInfo.SysLanguage.LPT.ReadString(this.Name, "lblMsg", "抢答中…"); //杨斌 2014-05-20 lblMsg.Visible = false; picNum.Visible = true; //count = 0;//杨斌 2013-12-19 if (count > 3)//最多支持3秒(只有3个图片) count = 3; canPressQD = false;//杨斌 2011-08-18 trm.Interval = 1; if (count > 0) { picNum.Visible = true; trm.Start(); } else { picNum.Visible = false; canPressQD = true; StartRushAnswer();//杨斌 2014-05-20 } lblMsg.Text = ""; //StartRushAnswer(); //if (Screen.AllScreens.Count() == 1) // this.Opacity = 0.9; //else // this.Opacity = 1; } /// /// 计时器事件 /// /// /// private void trm_Tick(object sender, EventArgs e) { trm.Interval = 1000; if (count == 0) { trm.Stop(); //开始抢答 StartRushAnswer(); canPressQD = true;//杨斌 2011-08-18 } else if (count > 0) { switch (count) { case 3: picNum.BackgroundImage = Resources._3; break; case 2: picNum.BackgroundImage = Resources._2; break; case 1: picNum.BackgroundImage = Resources._1; break; } } count = count - 1; } /// /// 退出抢答 /// 创建:杨斌 2010-11-15 /// public void ExitRushAnswer() { StopRushAnswer(); this.Close(); } private void picClose_Click(object sender, EventArgs e) { ExitRushAnswer(); } /// /// 开始抢答 /// public void StartRushAnswer() { isRunForm = true;//杨斌 2015-04-29 FrmVoteBar frmVoteBar = Globals.SunVoteARSAddIn.frmVoteBar; lblMsg.Visible = true;//杨斌 2014-05-20 //GlobalInfo.response.RushAnswerStart(); //VotingService.Start(null); lblMsg.Text = GlobalInfo.SysLanguage.LPT.ReadString(this.Name, "lblMsg1", "抢答中…");//2013-12-23 lblTitle.Text = ""; frmVoteBar.isRushAnswer = true; picNum.Visible = false; GlobalInfo.response.RushAnswerStart(); } /// /// 停止抢答 /// public void StopRushAnswer() { FrmVoteBar frmVoteBar = Globals.SunVoteARSAddIn.frmVoteBar; canPressQD = false;//杨斌 2011-08-18 防止两个键盘都同时按了,在基站停止前,后面收到的键盘也能提交,如:先显示3,再显示5 //VotingService.Stop(null); GlobalInfo.response.RushAnswerStop(); if (frmVoteBar.IsVoteStart) { Globals.SunVoteARSAddIn.PPTShow.IsAutoShowNext = !frmVoteBar.IsVoteStart; frmVoteBar.VoteStart(!frmVoteBar.IsVoteStart); } frmVoteBar.isRushAnswer = false; trm.Stop();//停止抢答时停止计时器 杨斌 2011-08-18 trm.Enabled = false;//停止抢答时停止计时器 } /// /// 显示抢答结果 /// /// public void ShowRushAnswer(ResponsePar ObjResponsePar) { if (!canPressQD) return; StopRushAnswer(); string nameCol = GlobalInfo.response.ShowNameCol; string keyIdOrName = ""; if (!string.IsNullOrEmpty(nameCol)) { keyIdOrName = RosterList.GetRushAnswerShow(nameCol, ObjResponsePar.KeyID.ToString()); } if (string.IsNullOrEmpty(keyIdOrName)) { keyIdOrName = ObjResponsePar.KeyID.ToString(); string temp = GlobalInfo.SysLanguage.LPT.ReadString("FrmRushAnswer", "lblMsg2", "请-号键盘作答!"); temp = temp.Replace("-", keyIdOrName); lblMsg.Text = temp; } else { string temp = GlobalInfo.SysLanguage.LPT.ReadString("FrmRushAnswer", "lblMsg3", "请-作答!"); temp = temp.Replace("-", keyIdOrName); lblMsg.Text = temp; } //if (ObjResponsePar.KeyID > 0) GlobalInfo.response.KeyIDQDOK = ObjResponsePar.KeyID; } private void FrmRushAnswer_KeyDown(object sender, KeyEventArgs e) { //屏蔽,在快捷键处理。杨斌 2015-05-26 //if (e.KeyCode == Keys.Escape) //{ // ExitRushAnswer(); //} } private void tmrSelect_Tick(object sender, EventArgs e) { this.Select();//杨斌 2014-09-24 } private void FrmRushAnswer_FormClosing(object sender, FormClosingEventArgs e) { tmrSelect.Enabled = false;//杨斌 2014-09-24 isRunForm = false;//杨斌 2015-04-29 } } }