public static void ShowChild(RibbonForm parent, XtraForm child) { child.MdiParent = parent; child.WindowState = System.Windows.Forms.FormWindowState.Maximized; child.Show(); child.Focus(); }
private void DoOnFormLostFocus(object sender, EventArgs e) { form.Focus(); }
/// <summary> /// Load item module. /// </summary> /// <param name="t"></param> /// <param name="e"></param> private static void LoadItemModule(Type t, ItemClickEventArgs e) { //AppModule objModule = e.Item.Tag as AppModule; ChucNang cn = e.Item.Tag as ChucNang; if (cn == null) { return; } foreach (Form fr in frmMain.Instance.xtraTabbedMdiManager.MdiParent.MdiChildren) { if (fr.Name == string.Format("{0}{1}", t.Name, cn.GUIName)) //Nếu chức năng đang được mở { fr.Focus(); return; } } //Nếu chức năng đang không được mở switch (t.BaseType.Name) //Tên lớp cha { case "XtraForm": XtraForm xfrm = Activator.CreateInstance(t) as XtraForm; if (xfrm != null) { //Phan quyen theo phuong thuc bool result = false; if (result) { MethodInfo mi = FindMethod(t, "KhongDuocPhepCapNhat", result.ToString()); if (mi != null) { mi.Invoke(xfrm, new string[] { result.ToString() }); } } // xfrm.Name += cn.ModuleID; //InvokeMethod(xfrm, t, cn); if ((cn.LoaiChucNang.MdiForm ? "Mdi" : "") == "Popup") { xfrm.ShowDialog(); } else { xfrm.MdiParent = frmMain.Instance; xfrm.Tag = cn; xfrm.Text = e.Item.Caption; xfrm.Show(); xfrm.Focus(); } } break; //case "Form": // Form frm = Activator.CreateInstance(t) as Form; // if (frm != null) // { // frm.Name += cn.ModuleID; // InvokeMethod(frm, t, cn); // if (cn.LoaiChucNang.MaLoai == "Popup") // frm.ShowDialog(); // else // { // if (cn.Module == null) // cn.Module = new ChucNang_Data().LayDuLieu(cn.ModuleID); // frm.MdiParent = frmMain.Instance; // frm.Tag = cn; // frm.Text = e.Item.Caption; // frm.Show(); // frm.Focus(); // } // } // break; //case "Object": // Object obj = Activator.CreateInstance(t) as Object; // if (obj != null) // InvokeMethod(obj, t, objModule); // break; default: break; } }
private void ModuleSelect(Type t, NavBarLinkEventArgs e) { Cursor.Current = Cursors.WaitCursor; try { if (t == null) { return; } object ui = Activator.CreateInstance(t); if (ui == null) { return; } ChucNang cn = e.Link.Item.Tag as ChucNang; switch (t.Name) { case "ucTuDienDuLieu": ((Modules.ucTuDienDuLieu)ui).ChucNang = cn; break; } switch (t.BaseType.Name) { case "XtraForm": XtraForm xForm = (XtraForm)ui; foreach (Form fr in frmMain.Instance.xtraTabbedMdiManager.MdiParent.MdiChildren) { if (fr.Name == string.Format("{0}{1}", t.Name, cn.ModuleID)) { fr.Focus(); return; } } xForm.Name += cn.ModuleID; InvokeMethod(t, xForm, e); if (!string.IsNullOrEmpty(cn.LoaiChucNang.MaLoai)) { if (cn.LoaiChucNang.MaLoai == "Popup") { xForm.Tag = cn; xForm.Text = e.Link.Caption; xForm.ShowDialog(); } else { xForm.MdiParent = frmMain.Instance; xForm.Tag = cn; xForm.Text = e.Link.Caption; xForm.Show(); xForm.Focus(); } } else { xForm.MdiParent = frmMain.Instance; xForm.Tag = cn; xForm.Text = e.Link.Caption; xForm.Show(); xForm.Focus(); } break; case "Form": Form form = (Form)ui; foreach (Form fr in frmMain.Instance.xtraTabbedMdiManager.MdiParent.MdiChildren) { if (fr.Name == string.Format("{0}{1}", t.Name, cn.ModuleID)) { fr.Focus(); return; } } form.Name += cn.ModuleID; InvokeMethod(t, form, e); if (!string.IsNullOrEmpty(cn.LoaiChucNang.MaLoai)) { if (cn.LoaiChucNang.MaLoai == "Popup") { form.Tag = cn; form.Text = e.Link.Caption; form.ShowDialog(); } else { form.MdiParent = frmMain.Instance; form.Tag = cn; form.Text = e.Link.Caption; form.Show(); form.Focus(); } } else { form.MdiParent = frmMain.Instance; form.Tag = cn; form.Text = e.Link.Caption; form.Show(); form.Focus(); } break; case "XtraUserControl": if (AppContainer != null) { if (!AppContainer.Controls.ContainsKey(string.Format("{0}{1}", t.Name, cn.ModuleID))) { XtraUserControl xc = (XtraUserControl)ui; ////Phan quyen tung control //bool result = false; //DataServices.TaiKhoan.KiemTraPhanQuyenControl(UserInfo.UserID, xc.Name, ref result); //if (result) //{ // MethodInfo mi = FindMethod(t, "KhongDuocPhepCapNhat", result.ToString()); // if (mi != null) // mi.Invoke(xc, new string[] { result.ToString() }); //} if (!AppContainer.Controls.Contains(xc)) { xc.Name = string.Format("{0}{1}", t.Name, cn.ModuleID); xc.Dock = DockStyle.Fill; xc.Tag = cn; AppContainer.Text = e.Link.Caption; InvokeMethod(t, xc, e); AppContainer.Controls.Add(xc); xc.BringToFront(); xc.Focus(); } } else { AppContainer.Text = e.Link.Caption; AppContainer.Controls[AppContainer.Controls.IndexOfKey(string.Format("{0}{1}", t.Name, cn.ModuleID))].BringToFront(); AppContainer.Controls[AppContainer.Controls.IndexOfKey(string.Format("{0}{1}", t.Name, cn.ModuleID))].Focus(); } } break; case "UserControl": Cursor.Current = Cursors.WaitCursor; if (AppContainer != null) { if (!AppContainer.Controls.ContainsKey(string.Format("{0}{1}", t.Name, cn.ModuleID))) { UserControl uc = Activator.CreateInstance(t) as UserControl; if (uc != null) { if (!AppContainer.Controls.Contains(uc)) { uc.Name = string.Format("{0}{1}", t.Name, cn.ModuleID); uc.Dock = DockStyle.Fill; uc.Tag = cn; AppContainer.Text = e.Link.Caption; InvokeMethod(t, uc, e); AppContainer.Controls.Add(uc); uc.BringToFront(); uc.Focus(); } } } else { AppContainer.Text = e.Link.Caption; AppContainer.Controls[AppContainer.Controls.IndexOfKey(string.Format("{0}{1}", t.Name, cn.ModuleID))].BringToFront(); AppContainer.Controls[AppContainer.Controls.IndexOfKey(string.Format("{0}{1}", t.Name, cn.ModuleID))].Focus(); } } Cursor.Current = Cursors.Default; break; case "Object": Object obj = Activator.CreateInstance(t) as Object; if (obj != null) { InvokeMethod(t, obj, e); } break; default: break; } } catch (Exception ex) { XtraMessageBox.Show(ex.Message + "\n" + ex.StackTrace, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } Cursor.Current = Cursors.Default; }