private void Txt_Enter(object sender, EventArgs e) { strFocusedContrName = (sender as Control).Name; FocusedControl = sender as Control; Control ctrParent = FocusedControl.Parent; if (ctrParent != null) { if (strEnterGc != ctrParent.Name) { strEnterGc = ctrParent.Name; ParentControl = GcOrdControls[strEnterGc]; arrContrSeq = GcOrdarrContrSeq[strEnterGc]; } if (FocusedControl.GetType().ToString() == "ProduceManager.UcTxtPopup") { ProduceManager.UcTxtPopup ucp = FocusedControl as ProduceManager.UcTxtPopup; ucp.DrFilterFieldsInfo = GridViewEdit.GetFocusedDataRow(); } else if (FocusedControl.GetType().ToString() == "ProduceManager.UcTreeList") { ProduceManager.UcTreeList ucp = FocusedControl as ProduceManager.UcTreeList; ucp.DrFilterFieldsInfo = GridViewEdit.GetFocusedDataRow(); } } }
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { CApplication.App.CurrentSession.TimerId = 0; frmEditorBase frm = CApplication.CurrForm as frmEditorBase; if (frm == null) { return(base.ProcessCmdKey(ref msg, keyData)); } int k = msg.WParam.ToInt32(); blPrevFindControl = false; if (k == 123) //F12 { if (CApplication.Com_Prot != null) { CApplication.Com_Prot.port_Send(); } } else if (k == 27)//Esc { frm.Close(); frm.Dispose(); } else if (k == 13)//Enter { if (string.IsNullOrEmpty(strFocusedContrName) || FocusedControl == null) { return(base.ProcessCmdKey(ref msg, keyData)); } if (!blNoEnterToSave) { int index = arrContrSeq.IndexOf(strFocusedContrName); if (index == arrContrSeq.Count - 1 && BtnEnterSave != null) { string strBtnType = BtnEnterSave.GetType().ToString(); if (strBtnType == "DevExpress.XtraEditors.SimpleButton") { (BtnEnterSave as SimpleButton).PerformClick(); } else if (strBtnType == "DevExpress.XtraBars.BarButtonItem") { (BtnEnterSave as BarButtonItem).PerformClick(); } return(base.ProcessCmdKey(ref msg, keyData)); } } if (FocusedControl is BaseEdit) { BaseEdit bc = FocusedControl as BaseEdit; if (bc.Properties.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } else if (FocusedControl is ProduceManager.UcTxtPopup) { ProduceManager.UcTxtPopup bc = FocusedControl as ProduceManager.UcTxtPopup; if (bc.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } else if (FocusedControl is ProduceManager.UcTreeList) { ProduceManager.UcTreeList bc = FocusedControl as ProduceManager.UcTreeList; if (bc.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } string strType = FocusedControl.GetType().ToString(); if (strType == "DevExpress.XtraEditors.LookUpEdit") { if (!(FocusedControl as DevExpress.XtraEditors.LookUpEdit).IsPopupOpen) { frm.SetContrMoveNext(strFocusedContrName, blPrevFindControl); } } else if (strType == "ExtendControl.ExtPopupTree") { if (!(FocusedControl as ExtendControl.ExtPopupTree).IsPopupOpen) { frm.SetContrMoveNext(strFocusedContrName, blPrevFindControl); } } else if (strType == "ProduceManager.UcTxtPopup") { if (!(FocusedControl as ProduceManager.UcTxtPopup).IsPopupOpen) { frm.SetContrMoveNext(strFocusedContrName, blPrevFindControl); } } else if (strType == "ProduceManager.UcTreeList") { if (!(FocusedControl as ProduceManager.UcTreeList).IsPopupOpen) { frm.SetContrMoveNext(strFocusedContrName, blPrevFindControl); } } else { frm.SetContrMoveNext(strFocusedContrName, blPrevFindControl); } } else if (k == 187 || k == 107 || k == 227) // + { if (keyData.ToString().ToUpper().IndexOf("CONTROL") != -1) { if (string.IsNullOrEmpty(strFocusedContrName) || FocusedControl == null) { return(base.ProcessCmdKey(ref msg, keyData)); } if (FocusedControl is BaseEdit) { BaseEdit bc = FocusedControl as BaseEdit; if (bc.Properties.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } else if (FocusedControl is ProduceManager.UcTxtPopup) { ProduceManager.UcTxtPopup bc = FocusedControl as ProduceManager.UcTxtPopup; if (bc.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } else if (FocusedControl is ProduceManager.UcTreeList) { ProduceManager.UcTreeList bc = FocusedControl as ProduceManager.UcTreeList; if (bc.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } string strType = FocusedControl.GetType().ToString(); if (strType == "DevExpress.XtraEditors.LookUpEdit" && (FocusedControl as DevExpress.XtraEditors.LookUpEdit).IsPopupOpen) { blPrevFindControl = true; (FocusedControl as DevExpress.XtraEditors.LookUpEdit).ClosePopup(); blPrevFindControl = false; } else if (strType == "ExtendControl.ExtPopupTree" && (FocusedControl as ExtendControl.ExtPopupTree).IsPopupOpen) { blPrevFindControl = true; (FocusedControl as ExtendControl.ExtPopupTree).ClosePopup(); blPrevFindControl = false; } else if (strType == "ProduceManager.UcTxtPopup" && (FocusedControl as ProduceManager.UcTxtPopup).IsPopupOpen) { blPrevFindControl = true; (FocusedControl as ProduceManager.UcTxtPopup).ClosePopup(); blPrevFindControl = false; } else if (strType == "ProduceManager.UcTreeList" && (FocusedControl as ProduceManager.UcTreeList).IsPopupOpen) { blPrevFindControl = true; (FocusedControl as ProduceManager.UcTreeList).ClosePopup(); blPrevFindControl = false; } frm.SetContrMoveNext(strFocusedContrName, blPrevFindControl, 3); return(true); } } else if (k == 189 || k == 109 || k == 229) // - //36:Home { if (keyData.ToString().ToUpper().IndexOf("CONTROL") != -1) { if (string.IsNullOrEmpty(strFocusedContrName) || FocusedControl == null) { return(base.ProcessCmdKey(ref msg, keyData)); } if (FocusedControl is BaseEdit) { BaseEdit bc = FocusedControl as BaseEdit; if (bc.Properties.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } else if (FocusedControl is ProduceManager.UcTxtPopup) { ProduceManager.UcTxtPopup bc = FocusedControl as ProduceManager.UcTxtPopup; if (bc.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } else if (FocusedControl is ProduceManager.UcTreeList) { ProduceManager.UcTreeList bc = FocusedControl as ProduceManager.UcTreeList; if (bc.ReadOnly) { return(base.ProcessCmdKey(ref msg, keyData)); } } blPrevFindControl = true; string strType = FocusedControl.GetType().ToString(); if (strType == "DevExpress.XtraEditors.LookUpEdit" && (FocusedControl as DevExpress.XtraEditors.LookUpEdit).IsPopupOpen) { (FocusedControl as DevExpress.XtraEditors.LookUpEdit).ClosePopup(); } else if (strType == "ExtendControl.ExtPopupTree" && (FocusedControl as ExtendControl.ExtPopupTree).IsPopupOpen) { (FocusedControl as ExtendControl.ExtPopupTree).ClosePopup(); } else if (strType == "ProduceManager.UcTxtPopup" && (FocusedControl as ProduceManager.UcTxtPopup).IsPopupOpen) { (FocusedControl as ProduceManager.UcTxtPopup).ClosePopup(); } else if (strType == "ProduceManager.UcTreeList" && (FocusedControl as ProduceManager.UcTreeList).IsPopupOpen) { (FocusedControl as ProduceManager.UcTreeList).ClosePopup(); } frm.SetContrMoveNext(strFocusedContrName, blPrevFindControl); return(true); } } else if (k == 33)//PgUp { if (GridViewEdit != null) { GridViewEdit.MovePrev(); return(true); } } else if (k == 34)//PgDn { if (GridViewEdit != null) { GridViewEdit.MoveNext(); return(true); } } else if (k == 46)//Delete { frm.DeleteFocusedItem(); return(true); //if (GridViewEdit != null && GridViewEdit.GetFocusedDataRow() != null && frmEditorMode=="VIEW") //{ // frm.DeleteFocusedItem(); //} } else if (k == 116)//F5 { frm.RefreshItem(); return(true); } else if (k == 20)//CapsLk { if (keyData.ToString().ToUpper().IndexOf("ALT") != -1) { int idex = arrOpenedForms.IndexOf(this); if (idex == -1) { return(true); } if (idex == 0) { idex = arrOpenedForms.Count - 1; } else { idex -= 1; } Form[] charr = this.ParentForm.MdiChildren; foreach (Form chform in charr) { if (chform.Name.ToUpper() == arrOpenedForms[idex].Name.ToUpper()) { chform.Show(); chform.Activate(); return(true); } } return(true); } } return(base.ProcessCmdKey(ref msg, keyData)); }
public virtual void SetContrMoveNext(string strContrName, bool blPrev, int iSeed) { int index = arrContrSeq.IndexOf(strContrName); if (index == -1) { return; } if (!blPrev && index == arrContrSeq.Count - 1 || blPrev && index == 0) { return; } if (FocusedControl.GetType().ToString() == "DevExpress.XtraEditors.CheckedComboBoxEdit") { DevExpress.XtraEditors.CheckedComboBoxEdit cklis = FocusedControl as DevExpress.XtraEditors.CheckedComboBoxEdit; string strText = string.Empty; string[] arrTexts = cklis.Text.Split(",,".ToCharArray()); foreach (CheckedListBoxItem item in cklis.Properties.Items) { foreach (string strT in arrTexts) { string strTxt = strT.Trim(); if (strTxt == string.Empty) { continue; } if (item.Value.ToString().ToLower() == strTxt.ToLower() || item.Description.ToLower() == strTxt.ToLower()) { strText += strText == string.Empty ? item.Value.ToString() : "," + item.Value.ToString(); } } } cklis.EditValue = strText; cklis.RefreshEditValue(); } int iFidx = 0; if (blPrev) { iFidx = index - iSeed < 0 ? 0 : index - iSeed; } else { iFidx = index + iSeed > arrContrSeq.Count - 1 ? arrContrSeq.Count - 1 : index + iSeed; } Control[] contrs = FocusedControl.Parent.Controls.Find(arrContrSeq[iFidx], false); if (contrs.Length <= 0) { return; } Control contr = contrs[0]; if (contr is BaseEdit) { BaseEdit bse = contr as BaseEdit; if (bse.Properties.ReadOnly || !bse.Visible) { SetContrMoveNext(arrContrSeq[iFidx], blPrev, 1); return; } } else if (contr is ProduceManager.UcTxtPopup) { ProduceManager.UcTxtPopup bc = contr as ProduceManager.UcTxtPopup; if (bc.ReadOnly || !bc.Visible) { SetContrMoveNext(arrContrSeq[iFidx], blPrev, 1); return; } } else if (contr is ProduceManager.UcTreeList) { ProduceManager.UcTreeList bc = contr as ProduceManager.UcTreeList; if (bc.ReadOnly || !bc.Visible) { SetContrMoveNext(arrContrSeq[iFidx], blPrev, 1); return; } } switch (contr.GetType().ToString()) { case "DevExpress.XtraEditors.TextEdit": DevExpress.XtraEditors.TextEdit txt = contr as DevExpress.XtraEditors.TextEdit; txt.Focus(); txt.SelectAll(); break; case "DevExpress.XtraEditors.MemoEdit": DevExpress.XtraEditors.MemoEdit mTxt = contr as DevExpress.XtraEditors.MemoEdit; mTxt.Focus(); mTxt.SelectAll(); break; case "DevExpress.XtraEditors.SimpleButton": DevExpress.XtraEditors.SimpleButton btn = contr as DevExpress.XtraEditors.SimpleButton; btn.Select(); break; case "DevExpress.XtraEditors.LookUpEdit": DevExpress.XtraEditors.LookUpEdit dpl = contr as DevExpress.XtraEditors.LookUpEdit; dpl.Focus(); dpl.ShowPopup(); break; case "DevExpress.XtraEditors.CheckedComboBoxEdit": DevExpress.XtraEditors.CheckedComboBoxEdit ckcob = contr as DevExpress.XtraEditors.CheckedComboBoxEdit; ckcob.Focus(); ckcob.SelectAll(); break; case "DevExpress.XtraEditors.DateEdit": DevExpress.XtraEditors.DateEdit dt = contr as DevExpress.XtraEditors.DateEdit; dt.Focus(); dt.Select(); break; case "ExtendControl.ExtPopupTree": ExtendControl.ExtPopupTree ext = contr as ExtendControl.ExtPopupTree; ext.Focus(); ext.ShowPopup(); break; case "ProduceManager.UcTxtPopup": ProduceManager.UcTxtPopup ucp = contr as ProduceManager.UcTxtPopup; ucp.Focus(); ucp.ShowPopup(); break; case "ProduceManager.UcTreeList": ProduceManager.UcTreeList uct = contr as ProduceManager.UcTreeList; uct.Focus(); uct.ShowPopup(); break; case "DevExpress.XtraEditors.ComboBoxEdit": DevExpress.XtraEditors.ComboBoxEdit cob = contr as DevExpress.XtraEditors.ComboBoxEdit; cob.Focus(); cob.ShowPopup(); break; default: break; } }
/// <summary>获取当前控件按回车跳转到的下一个控件的ID的索引 /// /// </summary> /// <param name="FocusCtlName"></param> /// <param name="ArrayStr"></param> /// <returns></returns> public string[] GetNextIndex(List <string> ArrayStr) { string[] NextStrArray; if (FocusedControl.Tag != null) { Nextindex = ArrayStr.IndexOf(FocusedControl.TabIndex.ToString() + "," + FocusedControl.Name + "," + FocusedControl.GetType() + "," + FocusedControl.Tag.ToString()); } else { Nextindex = ArrayStr.IndexOf(FocusedControl.TabIndex.ToString() + "," + FocusedControl.Name + "," + FocusedControl.GetType()); } if (Nextindex < StringArrary.Count - 1) { NextStrArray = StringArrary[Nextindex + 1].Split(','); } else { NextStrArray = StringArrary[ArrayStr.Count - 1].Split(','); } return(NextStrArray); }