private void btnSave_Click(object sender, EventArgs e) { if (cmbSelect.SelectedValue == null || cmbSelect.SelectedValue.ToString() == "") { MessageBox.Show("请选择窗口", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string fun = ""; if (f1.Text == "") { fun += "呼叫,"; //MessageBox.Show("请配置呼叫快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } if (f2.Text == "") { fun += "重呼,"; //MessageBox.Show("请配置重呼快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } if (f3.Text == "") { fun += "评价,"; //MessageBox.Show("请配置评价快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } if (f4.Text == "") { fun += "弃号,"; //MessageBox.Show("请配置弃号快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } if (f5.Text == "") { fun += "暂停,"; //MessageBox.Show("请配置暂停快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } if (f6.Text == "") { fun += "转移,"; //MessageBox.Show("请配置转移快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } if (f7.Text == "") { fun += "挂起,"; //MessageBox.Show("请配置挂起快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } if (f8.Text == "") { fun += "回呼,"; //MessageBox.Show("请配置回呼快捷键!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //return; } List <string> list = new List <string>() { f1.Text, f2.Text, f3.Text, f4.Text, f5.Text, f6.Text, f7.Text, f8.Text }; list = list.Where(l => l != "").ToList(); if (list.GroupBy(l => l).Count() < list.Count) { MessageBox.Show("存在快捷键重复,请修改后保存!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (fun != "") { if (DialogResult.Cancel == MessageBox.Show("部分功能未设置快捷键【" + fun.Substring(0, fun.Length - 1) + "】,确认不设置快捷键?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) { return; } } ini.WriteString("WindowSet", "WindwoNo", cmbSelect.SelectedValue.ToString()); ini.WriteString("WindowSet", "WindowName", cmbSelect.Text); ini.WriteString("Shortcutkey", "Fuction1", f1.Text.ToString()); ini.WriteString("Shortcutkey", "Fuction2", f2.Text.ToString()); ini.WriteString("Shortcutkey", "Fuction3", f3.Text.ToString()); ini.WriteString("Shortcutkey", "Fuction4", f4.Text.ToString()); ini.WriteString("Shortcutkey", "Fuction5", f5.Text.ToString()); ini.WriteString("Shortcutkey", "Fuction6", f6.Text.ToString()); ini.WriteString("Shortcutkey", "Fuction7", f7.Text.ToString()); ini.WriteString("Shortcutkey", "Fuction8", f8.Text.ToString()); MessageBox.Show("保存成功,重启系统生效!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void frmMain_Load(object sender, EventArgs e) { ip = System.Configuration.ConfigurationManager.AppSettings["IP"]; port = System.Configuration.ConfigurationManager.AppSettings["Port"]; ini = new OperateIni(System.Windows.Forms.Application.StartupPath + @"\WindowConfig.ini"); windowNo = ini.ReadString("WindowSet", "WindwoNo"); windowName = ini.ReadString("WindowSet", "WindowName"); f1 = ini.ReadString("Shortcutkey", "Fuction1"); f2 = ini.ReadString("Shortcutkey", "Fuction2"); f3 = ini.ReadString("Shortcutkey", "Fuction3"); f4 = ini.ReadString("Shortcutkey", "Fuction4"); f5 = ini.ReadString("Shortcutkey", "Fuction5"); f6 = ini.ReadString("Shortcutkey", "Fuction6"); f7 = ini.ReadString("Shortcutkey", "Fuction7"); f8 = ini.ReadString("Shortcutkey", "Fuction8"); if (windowNo == "") { frmConfig frm = new frmConfig(); frm.ShowDialog(); Application.ExitThread(); return; } qList = new List <BQueueModel>(); windowModel = wBll.GetModelList().Where(w => w.State == "1" && w.Number == windowNo).FirstOrDefault(); if (windowModel == null) { frmConfig frm = new frmConfig(); frm.ShowDialog(); Application.ExitThread(); return; } wbList = wbBll.GetModelList(); baList = baBll.GetModelList(); windowBusys = new List <TWindowBusinessModel>(); windowBusyGreens = new List <TWindowBusinessModel>(); var busyList = wbList.Where(b => b.WindowID == windowModel.ID).ToList().OrderBy(o => o.priorityLevel).ToList(); if (busyList != null && busyList.Count > 0) { windowBusys.AddRange(busyList); var gbList = new List <TWindowBusinessModel>(); foreach (var bs in busyList) { var gb = baList.Where(b => b.unitSeq == bs.unitSeq && b.busiSeq == bs.busiSeq && b.isGreenChannel == 1).FirstOrDefault(); if (gb != null) { gbList.Add(bs); } } windowBusyGreens.AddRange(gbList); } else { MessageBox.Show("当前窗口未绑定业务,无法叫号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } client.ServerIP = ip; client.ServerPort = ushort.Parse(port); client.ClientType = ClientType.CallClient; client.ClientName = windowName; this.client.OnResult += (msgType, msgText) => { this.messageIndicator1.SetState(StateType.Success, msgText); }; this.client.OnConnect += () => { this.client.SendMessage(new ClientQueryMessage()); }; this.client.OnDisconnect += () => { this.messageIndicator1.SetState(StateType.Error, "未连接"); }; this.client.OnRestart += () => { ini.WriteString("WindowSet", "Restart", "true"); }; this.client.OnMessage += new Action <QueueMessage.Message>(client_OnMessage); client.Start(); this.ShowInTaskbar = false; this.Hide(); this.ShowInTaskbar = true; #region var act = new Func <string, Keys>(f => { switch (f) { case "F1": return(Keys.F1); case "F2": return(Keys.F2); case "F3": return(Keys.F3); case "F4": return(Keys.F4); case "F5": return(Keys.F5); case "F6": return(Keys.F6); case "F7": return(Keys.F7); case "F8": return(Keys.F8); case "F9": return(Keys.F9); case "F10": return(Keys.F10); case "F11": return(Keys.F11); case "F12": return(Keys.F12); default: { return(Keys.F); } } }); #endregion //设置ShowInTaskbar以后Handle会变化,所以热键绑定要放在最后面 hotkey = new Hotkey(this.Handle); if (f1 != "") { this.btnCall.Text = "呼叫(" + f1 + ")"; hkCall = hotkey.RegisterHotkey(act(f1), Hotkey.KeyFlags.MOD_NONE); } if (f2 != "") { this.btnReCall.Text = "重呼(" + f2 + ")"; hkRecall = hotkey.RegisterHotkey(act(f2), Hotkey.KeyFlags.MOD_NONE); } if (f3 != "") { this.btnEv.Text = "评价(" + f3 + ")"; hkEv = hotkey.RegisterHotkey(act(f3), Hotkey.KeyFlags.MOD_NONE); } if (f4 != "") { this.btnCance.Text = "弃号(" + f4 + ")"; hkGiveUp = hotkey.RegisterHotkey(act(f4), Hotkey.KeyFlags.MOD_NONE); } if (f5 != "") { this.btnPause.Text = "暂停(" + f5 + ")"; hkpause = hotkey.RegisterHotkey(act(f5), Hotkey.KeyFlags.MOD_NONE); } if (f6 != "") { this.btnMove.Text = "转移(" + f6 + ")"; hkMove = hotkey.RegisterHotkey(act(f6), Hotkey.KeyFlags.MOD_NONE); } if (f7 != "") { this.btnHang.Text = "挂起(" + f7 + ")"; hkHang = hotkey.RegisterHotkey(act(f7), Hotkey.KeyFlags.MOD_NONE); } if (f8 != "") { this.btnBackCall.Text = "回呼(" + f8 + ")"; hkCallBack = hotkey.RegisterHotkey(act(f8), Hotkey.KeyFlags.MOD_NONE); } hotkey.OnHotkey += new HotkeyEventHandler(OnHotkey); timer1.Enabled = true; timer1.Start(); }