コード例 #1
0
 public static void ShowChild(RibbonForm parent, XtraForm child)
 {
     child.MdiParent   = parent;
     child.WindowState = System.Windows.Forms.FormWindowState.Maximized;
     child.Show();
     child.Focus();
 }
コード例 #2
0
 private void DoOnFormLostFocus(object sender, EventArgs e)
 {
     form.Focus();
 }
コード例 #3
0
ファイル: AppSystem.cs プロジェクト: AnhHa998/PMS
        /// <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;
            }
        }
コード例 #4
0
ファイル: AppSystem.cs プロジェクト: AnhHa998/PMS
        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;
        }