|
|
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraNavBar; using ICSSoft.Frame.Menu.BLL; using ICSSoft.Base.Config.AppConfig; using ICSSoft.Frame.User.BLL; using ICSSoft.Base.Language.Tool; using ICSSoft.Base.UserControl.MessageControl; using ICSSoft.Frame.Menu.Entity; using ICSSoft.Frame.Menu.MenuManage; using System.IO;
namespace ICSSoft.Frame.Main.Entrance { public partial class FormMain : DevExpress.XtraEditors.XtraForm { FormTableMenu fMenu = null; SysMenuBLL menuBll = new SysMenuBLL(); Dictionary<string, TreeView> treeDic = new Dictionary<string, TreeView>(); public FormMain() { InitializeComponent(); this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); this.WindowState = FormWindowState.Maximized; lblUserName.Text = AppConfig.UserName; lblWorkPointName.Text = AppConfig.WorkPointName; lblRole.Text=(AppConfig.UserCode.ToLower()=="demo"?"程序开发者":(AppConfig.AdminFlag==true?"系统管理员":"普通用户")); lblCompanyName.Text = AppConfig.CompanyName; BindNav(); } private void BindNav() { DataTable navData = menuBll.GetSysMenuStruct("", true); foreach (DataRow dr in navData.Rows) { NavBarGroup group = new NavBarGroup(dr["MenuCaption"].ToString()); group.Tag = dr["ID"]; string fileName = Path.GetFileNameWithoutExtension(AppConfig.ResourcePath + dr["TableImage"].ToString()); string forder = dr["TableImage"].ToString().Replace(Path.GetFileName(AppConfig.ResourcePath + dr["TableImage"].ToString()), ""); fileName = forder+ fileName + "32" + Path.GetExtension(AppConfig.ResourcePath + dr["TableImage"].ToString()); group.SmallImage = Image.FromFile(AppConfig.ResourcePath +fileName);
navMain.Groups.Add(group); } FillNavGroup(); } private void FillNavGroup() { foreach (NavBarGroup g in navMain.Groups) { NavBarGroupControlContainer gc = new NavBarGroupControlContainer(); TreeView treeMain = null; // bool isNew = false;
if (treeDic.ContainsKey(g.Tag.ToString())) { gc.Controls.Remove(treeDic[g.Tag.ToString()]); gc.Controls.Add(treeDic[g.Tag.ToString()]); g.ControlContainer = gc;
} else { treeMain = new TreeView(); treeMain.Name = g.Tag.ToString(); treeMain.StateImageList = AppConfig.SysImageList; treeMain.Dock = DockStyle.Fill; treeMain.AfterExpand += new TreeViewEventHandler(treeMenu_AfterExpand); treeMain.AfterCollapse += new TreeViewEventHandler(treeMenu_AfterCollapse); treeMain.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(treeMain_NodeMouseDoubleClick); treeDic.Add(g.Tag.ToString(), treeMain);
DataTable data = menuBll.GetSysMenuStruct(g.Tag.ToString(), true); foreach (DataRow obj in data.Rows) {
TreeNode tn = new TreeNode(obj["MenuCaption"].ToString()); tn.Tag = obj["ID"].ToString(); tn.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(obj["NExImage"].ToString());
treeMain.Nodes.Add(tn); BindSonNode(tn); } gc.Controls.Add(treeMain); g.ControlContainer = gc; }
}
} private void BindSonNode(TreeNode mainTn) { DataTable data = menuBll.GetSysMenuStruct(mainTn.Tag.ToString(), true); foreach (DataRow obj in data.Rows) {
TreeNode tn = new TreeNode(obj["MenuCaption"].ToString()); tn.Tag = obj["ID"];
tn.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(obj["NExImage"].ToString());
mainTn.Nodes.Add(tn); BindSonNode(tn); } } SysUserBLL userBll = new SysUserBLL(); private void treeMain_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { var obj = menuBll.GetSingleMenuByID(e.Node.Tag.ToString()); if (obj == null) return;
if (obj.FormFlag) { if (obj.StartFlag == false) return; try { AppConfig.CreateFormShow(obj.FormAssem, obj.MenuCode, obj.MenuCaption, obj.FormName, obj.DialogFlag, this, obj.FormParameters,obj.MaxWindow); userBll.InsertLogin("N", AppConfig.UserCode, "使用"+obj.MenuCaption+"功能"); } catch (Exception ex) { userBll.InsertLogin("N", AppConfig.UserCode, "使用" + obj.MenuCaption + "功能发生异常:"+ex.Message); List<LangObj> objList = new List<LangObj>(); LangObj mobj = new LangObj(); mobj.LConvertString = ex.Message; mobj.LParameters = new object[] { }; objList.Add(mobj); MessageDialog msg = new MessageDialog(2, objList); msg.ShowDialog(); }
} } private void treeMenu_AfterCollapse(object sender, TreeViewEventArgs e) { string menuId = e.Node.Tag.ToString(); Sys_Menu menuObj = menuBll.GetSingleMenuByID(menuId); if (menuObj != null) { e.Node.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.NExImage); // e.Node.SelectedImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.NExImage);
} }
private void treeMenu_AfterExpand(object sender, TreeViewEventArgs e) { string menuId = e.Node.Tag.ToString(); Sys_Menu menuObj = menuBll.GetSingleMenuByID(menuId); if (menuObj != null) { e.Node.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.ExImage); //e.Node.SelectedImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.ExImage);
} } private void FormMain_Load(object sender, EventArgs e) { LanguageConvert.ChangeLanguage(this, "1"); navMain.Visible = false; fMenu= new FormTableMenu(); fMenu.MdiParent = this; fMenu.Show(); }
private void btnExit_Click(object sender, EventArgs e) { this.Close(); }
private void FormMain_FormClosing(object sender, FormClosingEventArgs e) { if (reStart == 0) { List<LangObj> langList = new List<LangObj>(); LangObj obj = new LangObj(); obj.LConvertString = "确定退出管理系统吗?"; obj.LParameters = new object[] { }; langList.Add(obj); RequestionDialog formRequestion = new RequestionDialog(langList); if (formRequestion.ShowDialog() == DialogResult.OK) { e.Cancel = false; XtraForm formMain = (XtraForm)this.Tag; formMain.Close(); } else { reStart = 0; e.Cancel = true; } } }
private void btnModifyPwd_Click(object sender, EventArgs e) { List<LangObj> langList = new List<LangObj>(); FormEditPwd feditPwd = new FormEditPwd(AppConfig.WorkPointCode, AppConfig.UserCode,AppConfig.FromMd5( AppConfig.UserPwd)); if (feditPwd.ShowDialog() == DialogResult.OK) { LangObj langObj = new LangObj(); langObj.LConvertString = "修改成功"; langObj.LParameters = new object[] { }; langList.Add(langObj); if (langList.Count > 0) { MessageDialog messBox = new MessageDialog(0, langList); messBox.ShowDialog();
} } }
private void btnMyMenu_Click(object sender, EventArgs e) { FormUserDefineMenu formUserDefine = new FormUserDefineMenu(); formUserDefine.ShowDialog(); }
private void btnSysMenu_Click(object sender, EventArgs e) { if (navMain.Visible == true) { navMain.Visible = false; foreach (Form cform in this.MdiChildren) { cform.Close(); } fMenu = new FormTableMenu(); fMenu.MdiParent = this; fMenu.Show(); } else { if (fMenu != null) { fMenu.Close(); } navMain.Visible = true; } }
private void btnInfoCenter_Click(object sender, EventArgs e) { try { Sys_Menu obj = menuBll.GetSingleMenuByCode("01.07.03"); AppConfig.CreateFormShow(obj.FormAssem, obj.MenuCode, obj.MenuCaption, obj.FormName, obj.DialogFlag, this, obj.FormParameters, obj.MaxWindow); } catch (Exception ex) { List<LangObj> objList = new List<LangObj>(); LangObj mobj = new LangObj(); mobj.LConvertString = ex.Message; mobj.LParameters = new object[] { }; objList.Add(mobj); MessageDialog msg = new MessageDialog(2, objList); msg.ShowDialog(); }
}
int reStart = 0; private void btnLogOut_Click(object sender, EventArgs e) { List<LangObj> langList = new List<LangObj>(); LangObj obj = new LangObj(); obj.LConvertString = "确定重新注册系统吗?"; obj.LParameters = new object[] { }; langList.Add(obj); RequestionDialog formRequestion = new RequestionDialog(langList); if (formRequestion.ShowDialog() == DialogResult.OK) { reStart = 1; Program.Run.Close(); Application.Restart(); } reStart = 0; }
private void btnMinWindow_Click(object sender, EventArgs e) { this.WindowState = FormWindowState.Minimized; } } }
|