internal void OpenForm(frmMDIMain frmMDIMain, string menuCode, CoreComponent.BusinessObjects.MenuItem mItem) { try { //if (CanOpenForm(frmMDIMain, menuCode)) //{ string assemblyName = mItem.AssemblyName; string className = mItem.ClassName; if (string.IsNullOrEmpty(assemblyName) || string.IsNullOrEmpty(className)) { MessageBox.Show(Common.GetMessage("2005"), Common.GetMessage("30007"), MessageBoxButtons.OK, MessageBoxIcon.Error); } else { //Assembly.Load(assemblyName).CreateInstance( Assembly a = Assembly.Load(assemblyName); object formObject = null; //Activator.CreateInstance(a.GetType(className)); if (mItem.MenuItemParamList.Count == 0) { formObject = Activator.CreateInstance(a.GetType(className)); } else { ArrayList arr = new ArrayList(); foreach (MenuItemParameter p in mItem.MenuItemParamList) { arr.Add(p.Value); } formObject = Activator.CreateInstance(a.GetType(className), arr.ToArray()); } (formObject as Form).StartPosition = FormStartPosition.Manual; (formObject as Form).FormBorderStyle = FormBorderStyle.None; (formObject as Form).MdiParent = frmMDIMain; (formObject as Form).Tag = menuCode; (formObject as Form).Location = new Point(0, 0); (formObject as Form).Tag = menuCode; (formObject as Form).Show(); if (menuCode == Common.LoginModuleCode) { (formObject as frmLogin).SignIn += new SignInHandler(BOSController_SignIn); } else { ((formObject as Form).Controls.Find("lblAppUser", true)[0] as Label).Text = Common.GetMessage("10005", AuthenticationComponent.BusinessObjects.Authenticate.LoggedInUser.UserName); ((formObject as Form).Controls.Find("lblAppUser", true)[0] as Label).Dock = DockStyle.Left; ((formObject as Form).Controls.Find("lblAppUser", true)[0] as Label).Anchor = AnchorStyles.Left; ((formObject as Form).Controls.Find("lblAppUser", true)[0] as Label).Font = new System.Drawing.Font("Verdana", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); } } //} } catch (Exception ex) { throw ex; } }
/// <summary> /// Common function to handle click event of all Menus on this MDI from. /// It will send the 'Tag' value of currently clicked menu to 'BOSController' where it will be /// handled by its 'OpenForm()' method to open particular desired form. /// </summary> /// <param name="sender">The current ToolStripMenuItem that is clicked.</param> /// <param name="e">Event argument for this ToolStripMenuItem.</param> private void MenuItemClick(object sender, EventArgs e) { try { CoreComponent.BusinessObjects.MenuItem mItem = m_menuItems.Find(delegate(CoreComponent.BusinessObjects.MenuItem m) { return(m.ModuleCode == (sender as ToolStripMenuItem).Tag.ToString()); }); if (mItem.ModuleCode == Common.LogoutModuleCode) { Authenticate.LoggedInUser = null; CoreComponent.BusinessObjects.MenuItem mItem1 = m_menuItems.Find(delegate(CoreComponent.BusinessObjects.MenuItem m) { return(m.ModuleCode == Common.LoginModuleCode); }); if (m_bosControlObject.CanOpenForm(this, Common.LoginModuleCode)) { m_bosControlObject.OpenForm(this, Common.LoginModuleCode, mItem1); DisableAllMenus(); } } else { if (m_bosControlObject.CanOpenForm(this, (sender as ToolStripMenuItem).Tag.ToString())) { m_bosControlObject.OpenForm(this, (sender as ToolStripMenuItem).Tag.ToString(), mItem); } } } catch (Exception ex) { MessageBox.Show(Common.GetMessage("10002"), Common.GetMessage("30007"), MessageBoxButtons.OK, MessageBoxIcon.Error); Common.LogException(ex); } }
private void frmMDIMain_Load(object sender, EventArgs e) { try { this.Text = CoreComponent.Core.BusinessObjects.Common.GetMessage("10003") + " [" + (Common.LocationConfigId)Common.CurrentLocationTypeId + " : " + Common.LocationCode + "] " + "[v" + Common.Version + "]"; //Application name CoreComponent.BusinessObjects.MenuItem menuItem = m_menuItems.Find(delegate(CoreComponent.BusinessObjects.MenuItem m) { return(m.ModuleCode == Common.LoginModuleCode); }); m_bosControlObject.OpenForm(this, Common.LoginModuleCode, menuItem); } catch (Exception ex) { MessageBox.Show(Common.GetMessage("10002"), Common.GetMessage("30007"), MessageBoxButtons.OK, MessageBoxIcon.Error); Common.LogException(ex); } //this.Text += " V1.0"; //Set version number }