基本信息
源码名称:C#股票投资分析软件源码下载(含权限管理功能)
源码大小:4.98M
文件格式:.rar
开发语言:C#
更新时间:2016-07-25
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

数据库为acccess 密码为空 ,如提示《未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"解决方案请点击这里查看解决方案



using System;
using System.Data;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using System.Xml;

namespace gupiao
{
    public partial class MainFrm : Office2007Form
    {
        //是否注销
        bool isZx = false;
        //记录操作员
        public string userId = "";
        public string userName = "";
        //记录登陆者所在表明
        public string tableName = "";
        //记录登陆窗体信息
        public Form loginFrm = null;
        //窗体当前风格
        public static eDotNetBarStyle frmdotnetstyle = eDotNetBarStyle.Office2007;
        public int rootnum = 0;
        public MainFrm()
        {
            InitializeComponent();
        }

        //窗体加载事件
        private void MainFrm_Load(object sender, EventArgs e)
        {
            try
            {
                bar1.Visible = false;
                Functions.showControl = bar3;
                Functions.UserId = userId;
                Functions.UserName = userName;
                this.btnBeginFrm_Click(null, null);
                // 根据权限绑定菜单
                getQx();
                setFrmStyle();
                bar1.Visible = true;
            }
            catch
            {
                MessageBox.Show("窗体加载失败!", "异常信息提示", MessageBoxButtons.OK);
            }
            finally
            {

            }
        }

        //双击关闭打开界面
        void DockTabControl_DoubleClick(object sender, EventArgs e)
        {
            bar3.Items.Remove(bar3.SelectedDockTab);
            Functions.changeDockTagIndex();
            this.bar3.SelectedDockTab = Convert.ToInt32(bar3.Items[bar3.SelectedDockTab].Tag) - 1;
        }

        /// <summary>
        /// 设置窗体样式
        /// </summary>
        private void setFrmStyle()
        {
            office2007.Checked = false;
            VS2005.Checked = false;
            windowsXP.Checked = false;
            //设置窗体样式
            string FrmStyle = Functions.getFrmStyle();
            if (FrmStyle == "Office2007")
            {
                frmdotnetstyle = eDotNetBarStyle.Office2007;
                progressBarX1.Style = eDotNetBarStyle.Office2007;
                Functions.setControlsStyle(DevComponents.DotNetBar.eDotNetBarStyle.Office2007, this);
                office2007.Checked = true;
            }
            if (FrmStyle == "OfficeXP")
            {
                frmdotnetstyle = eDotNetBarStyle.OfficeXP;
                progressBarX1.Style = eDotNetBarStyle.OfficeXP;
                Functions.setControlsStyle(DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP, this);
                windowsXP.Checked = true;
            }
            if (FrmStyle == "VS2005")
            {
                frmdotnetstyle = eDotNetBarStyle.VS2005;
                progressBarX1.Style = eDotNetBarStyle.VS2005;
                Functions.setControlsStyle(DevComponents.DotNetBar.eDotNetBarStyle.VS2005, this);
                VS2005.Checked = true;
            }
            //Message.Information("vs2005:"   VS2005.Checked.ToString()   "windowsXP:"   windowsXP.Checked.ToString());
        }

        /// <summary>
        /// 绑定树方法
        /// </summary>
        /// <param name="idCount">该操作员权限</param>
        public void BingTree(string idCount)
        {
            panelDockContainer1.Controls.Clear();
            //当前用户权限的菜单数据
            DataTable dsparent = dbedit.GetDataTable("select id,cname,parentid,frmtype,namespace,frmname,dllpath,isparameter,parametervalue,showindex from sys_menu where id in("   idCount   ") order by showindex desc");
            if (dsparent != null && dsparent.Rows.Count > 0)
            {
                //一级菜单数据
                DataRow[] drparent = dsparent.Select("parentid=0");
                if (drparent.Length > 0)
                {
                    rootnum = drparent.Length - 1;
                    int j = 0;
                    progressBarX1.Maximum = drparent.Length - 1;
                    for (int i = 0; i < drparent.Length;i   )
                    {
                        TreeView tv = Functions.BindTree(drparent[i], true, dsparent);
                        //将树控件添加到生成的容器中
                        ExpandablePanel ep = makeExpandablePanel(tv.Name, tv.Name, panelDockContainer1);
                        ep.Controls.Add(tv);
                        //第一个默认为打开
                        if (i == drparent.Length - 1)
                        {
                            ep.Expanded = true;
                        }
                        //树节点为全部展开
                        tv.ExpandAll();
                        progressBarX1.Value = j;
                        j  ;
                    }
                }
            }
            progressBarX1.Visible = false;
        }

        /// <summary>
        /// 绑定树方法
        /// </summary>
        public void BingTree()
        {
            panelDockContainer1.Controls.Clear();
            //生成 绑定树控件
            DataTable ds = dbedit.GetDataTable("select * from sys_menu where parentid=0 order by showindex desc");
            if (ds != null)
            {
                Functions.showControl = bar3;
                int j = 0;
                rootnum = ds.Rows.Count - 1;
                progressBarX1.Maximum = rootnum;
                for (int i = 0; i < ds.Rows.Count; i  )
                {
                    TreeView tv = Functions.BindTree(ds.Rows[i]["id"].ToString(), true);
                    //将树控件添加到生成的容器中
                    ExpandablePanel ep = makeExpandablePanel(tv.Name, tv.Name, panelDockContainer1);
                    ep.Controls.Add(tv);
                    //第一个默认为打开
                    if (i == ds.Rows.Count - 1)
                    {
                        ep.Expanded = true;
                    }
                    //树节点为全部展开
                    tv.ExpandAll();
                    progressBarX1.Value = j;
                    j  ;
                }
            }
            progressBarX1.Visible = false;
        }

        /// <summary>
        /// 绑定outLook菜单栏
        /// </summary>
        public void BindMenu(string id)
        {
            panelDockContainer1.Controls.Clear();
            DevComponents.DotNetBar.SideBar sidebar1 = Functions.BindMenu(id, imageSmall, imageLarge);
            panelDockContainer1.Controls.Add(sidebar1);
            contextMenuBar1.SetContextMenuEx(sidebar1, CMenu);
            progressBarX1.Visible = false;
        }

        /// <summary>
        /// 根据权限绑定树
        /// </summary>
        public void getQx()
        {
            if (tableName == "sys_admin")
            {
                lblCzy.Text = userName;
                lbldlrq.Text = DateTime.Now.ToString();
                //根据操作员获取组织机构信息
                this.lblbm.Text = "管理员";
                this.lblzw.Text = "管理员";
                //BingTree();
                BindMenu(null);
            }
            else
            {
                lblCzy.Text = userName;
                lbldlrq.Text = DateTime.Now.ToString();
                //根据操作员获取组织机构信息
                DataTable dt = dbedit.GetDataTable("select id,username,(select name from sys_bm where sys_bm.id=sys_user.bm) as bm,(select name from sys_zw where sys_zw.id=sys_user.zw) as zw from sys_user where id="   this.userId   "");
                this.lblbm.Text = dt.Rows[0]["bm"].ToString();
                this.lblzw.Text = dt.Rows[0]["zw"].ToString();
                //根据操作员获取权限功能树编号
                DataTable qxds = dbedit.GetDataTable("select menu_id from sys_restrict where operator_id="   dt.Rows[0]["id"].ToString()   "");
                if (qxds.Rows.Count > 0)
                {
                    string strIdcount = "";
                    foreach (DataRow dr in qxds.Rows)
                    {
                        strIdcount  = dr["menu_id"].ToString()   ",";
                    }
                    //BingTree(strIdcount.Substring(0, strIdcount.Length - 1));
                    BindMenu(strIdcount.Substring(0, strIdcount.Length - 1));
                }
            }
        }

        /// <summary>
        /// 生成ExpandablePanel
        /// </summary>
        public ExpandablePanel makeExpandablePanel(string expandablePanelName, string expandablePanelTitleText, Control parentControl)
        {
            try
            {
                ExpandablePanel ep = new ExpandablePanel();

                ep.CanvasColor = System.Drawing.SystemColors.Control;
                ep.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
                ep.Dock = System.Windows.Forms.DockStyle.Top;
                ep.Location = new System.Drawing.Point(0, 0);
                ep.Name = expandablePanelName   "ExpandablePanel";
                ep.Size = new System.Drawing.Size(209, parentControl.Height - ep.TitleHeight * rootnum);

                ep.Style.Alignment = System.Drawing.StringAlignment.Center;
                ep.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
                ep.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
                ep.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
                ep.Style.GradientAngle = 90;
                ep.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
                ep.StyleMouseDown.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground;
                ep.StyleMouseDown.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBorder;
                ep.StyleMouseDown.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedText;
                ep.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
                ep.StyleMouseOver.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemHotBackground;
                ep.StyleMouseOver.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemHotBorder;
                ep.StyleMouseOver.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemHotText;
                ep.TabIndex = 0;
                ep.TitleStyle.Alignment = System.Drawing.StringAlignment.Center;
                ep.TitleStyle.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
                ep.TitleStyle.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
                ep.TitleStyle.Border = DevComponents.DotNetBar.eBorderType.RaisedInner;
                ep.TitleStyle.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
                ep.TitleStyle.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
                ep.TitleStyle.GradientAngle = 90;
                ep.TitleText = expandablePanelTitleText;
                ep.Expanded = false;


                //打开关闭时触发事件
                ep.ExpandedChanging  = new ExpandChangeEventHandler(ep_ExpandedChanging);

                parentControl.Controls.Add(ep);
                //this.panelDockContainer1.Controls.Add(ep);

                return ep;
            }
            catch
            {
                return null;
            }
            finally
            {

            }
        }

        /// <summary>
        /// 当一个抽屉被打开时,关闭其他抽屉控件
        /// </summary>
        public void ep_ExpandedChanging(object sender, ExpandedChangeEventArgs e)
        {
            //循环整个左侧树控件
            foreach (Control pC in ((ExpandablePanel)sender).Parent.Controls)
            {
                //选出类型匹配的控件
                if (pC.GetType().ToString() == "DevComponents.DotNetBar.ExpandablePanel")
                {
                    //打开被选中的抽屉,其它的关闭
                    if (((ExpandablePanel)pC).Name != ((ExpandablePanel)sender).Name)
                    {
                        ((ExpandablePanel)pC).Expanded = false;
                    }
                }
            }
        }  

        /// <summary>
        /// 起始页加载
        /// </summary>
        private void btnBeginFrm_Click(object sender, EventArgs e)
        {
            //创建图片控件
            PictureBox pictureBox1 = CreatePicture();
            //创建启始页容器
            PanelDockContainer panelDockContainerBegin = CreatePanelDockContainer(pictureBox1);
            //加载启始页
            getDockItem("dockContainerItemBegin", "背景图").Control = panelDockContainerBegin;
        }

        /// <summary>
        /// 动态加载窗体到Dock
        /// </summary>
        /// <param name="itemName">名称</param>
        /// <param name="itemText">显示的文本</param>
        public DockContainerItem getDockItem(string itemName, string itemText)
        {
            
            if (bar3.Items.Count > 10)
            {
                PublicMethod.HintMessage("窗体最多打开10个!如想继续打开,请先关闭现有窗体!");
                return null;
            }
            else
            {
                bar3.Show();
                int index = 0;
                //循环查看窗体是否已经加载
                foreach (DockContainerItem frmdci in bar3.Items)
                {
                    //重新设置item序号
                    frmdci.Tag = index;
                    if (frmdci.Name == itemName)
                    {
                        bar3.SelectedDockTab = Convert.ToInt32(frmdci.Tag);
                        return frmdci;
                    }
                    index  ;
                }
                DockContainerItem dci = new DockContainerItem(itemName, itemText);
                bar3.Items.Add(dci);
                //默认打开新增Tab
                bar3.SelectedDockTab = bar3.Items.Count - 1;
                dci.Tag = bar3.SelectedDockTab;
                return dci;
            }
        }

        /// <summary>
        /// 创建启始页容器
        /// </summary>
        /// <param name="pictureBox1">要显示的图片控件</param>
        /// <returns>启始页容器</returns>
        private PanelDockContainer CreatePanelDockContainer(PictureBox pictureBox1)
        {
            PanelDockContainer panelDockContainerBegin = new DevComponents.DotNetBar.PanelDockContainer();
            panelDockContainerBegin.SuspendLayout();
            bar3.Controls.Add(panelDockContainerBegin);
            panelDockContainerBegin.ColorScheme.ItemDesignTimeBorder = System.Drawing.Color.Black;
            panelDockContainerBegin.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
            panelDockContainerBegin.Controls.Add(pictureBox1);
            panelDockContainerBegin.Location = new System.Drawing.Point(3, 28); 
            panelDockContainerBegin.Name = "panelDockContainerBegin";
            panelDockContainerBegin.Size = new System.Drawing.Size(451, 333);
            panelDockContainerBegin.Style.Alignment = System.Drawing.StringAlignment.Center;
            panelDockContainerBegin.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
            panelDockContainerBegin.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground2;
            panelDockContainerBegin.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarDockedBorder;
            panelDockContainerBegin.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
            panelDockContainerBegin.Style.GradientAngle = 90;
            panelDockContainerBegin.TabIndex = 1;
            panelDockContainerBegin.ResumeLayout(false);
            return panelDockContainerBegin;
        }

        /// <summary>
        /// 创建图片控件
        /// </summary>
        /// <returns>返回图片控件</returns>
        private static PictureBox CreatePicture()
        {
            PictureBox pictureBox1 = new System.Windows.Forms.PictureBox();
            pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
            pictureBox1.ImageLocation = System.Windows.Forms.Application.StartupPath   "\\Resourse\\mainPicture.jpg";
            pictureBox1.Location = new System.Drawing.Point(0, 0);
            pictureBox1.Name = "pictureBox1";
            pictureBox1.Size = new System.Drawing.Size(451, 333);
            pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
            pictureBox1.TabIndex = 0;
            pictureBox1.TabStop = false;
            pictureBox1.WaitOnLoad = true;
            return pictureBox1;
        }

        //关闭打开页
        private void bar3_DockTabClosing(object sender, DockTabClosingEventArgs e)
        {
            e.RemoveDockTab = true;
            Functions.changeDockTagIndex();
            this.bar3.SelectedDockTab =Convert.ToInt32(e.DockContainerItem.Tag) - 1;
        }

        //设置窗体风格  office2007
        private void office2007_Click(object sender, EventArgs e)
        {
            office2007.Checked = true;
            VS2005.Checked = false;
            windowsXP.Checked = false;
            frmdotnetstyle = eDotNetBarStyle.Office2007;
            Functions.setControlsStyle(eDotNetBarStyle.Office2007,this.Controls);
            //记录窗体风格
            Functions.setFrmStyle(eDotNetBarStyle.Office2007.ToString());
        }

        //设置窗体风格  vs2005
        private void VS2005_Click(object sender, EventArgs e)
        {
            office2007.Checked = false;
            VS2005.Checked = true;
            windowsXP.Checked = false;
            frmdotnetstyle = eDotNetBarStyle.VS2005;
            Functions.setControlsStyle(eDotNetBarStyle.VS2005, this.Controls);
            //记录窗体风格
            Functions.setFrmStyle(eDotNetBarStyle.VS2005.ToString());
        }

        //设置窗体风格  windowXP
        private void windowsXP_Click(object sender, EventArgs e)
        {
            office2007.Checked = false;
            VS2005.Checked = false;
            windowsXP.Checked = true;
            frmdotnetstyle = eDotNetBarStyle.OfficeXP;
            Functions.setControlsStyle(eDotNetBarStyle.OfficeXP, this.Controls);
            //记录窗体风格
            Functions.setFrmStyle(eDotNetBarStyle.OfficeXP.ToString());
        }

        //设置新加载窗体风格
        private void bar3_ControlAdded(object sender, ControlEventArgs e)
        {
            Functions.setControlsStyle(frmdotnetstyle, this.Controls);
        }

        private void btnLock_Click(object sender, EventArgs e)
        {
            mnuLock_Click(null, null);
        }

        //注销
        private void btnLogout_Click(object sender, EventArgs e)
        {
            mnuLogout_Click(null, null);
        }

        //退出
        private void buttonItem8_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void MainFrm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (isZx)
            {
                ((Login)loginFrm).BingCmbUserName();
                ((Login)loginFrm).cmbUserName.Text = this.userName;
                isZx = false;

            }
            else
            {
                Application.Exit();

            }
        }

        private void btnPwd_Click(object sender, EventArgs e)
        {
            ChangePwd cpwd = new ChangePwd();
            cpwd.userName = userName;
            cpwd.tableName = tableName;
            cpwd.ShowDialog();
        }

        private void btnPwdUpdate_Click(object sender, EventArgs e)
        {
            mnuPwd_Click(null, null);
        }

        private void btnAbout_Click(object sender, EventArgs e)
        {
            mnuAbout_Click(null, null);
        }

        private void mnuLogout_Click(object sender, EventArgs e)
        {
            this.Hide();
            ((Login)loginFrm).setFrmStyle();
            loginFrm.Show();
            isZx = true;
        }

        private void mnuLock_Click(object sender, EventArgs e)
        {
            LockFrm lf = new LockFrm(userName);
            lf.ShowDialog();
        }

        private void mnuPwd_Click(object sender, EventArgs e)
        {
            ChangePwd cpwd = new ChangePwd();
            cpwd.userName = userName;
            cpwd.tableName = tableName;
            cpwd.ShowDialog();
        }

        private void mnuAbout_Click(object sender, EventArgs e)
        {
            About about = new About();
            about.ShowDialog();
        }

        private void contextMenuBar1_PopupOpen(object sender, PopupOpenEventArgs e)
        {
            SideBar sidebar1 = null;
            foreach (Control ctrl in panelDockContainer1.Controls)
            {
                if (ctrl is SideBar)
                {
                    sidebar1 = (SideBar)ctrl;
                    break;
                }
            }
            if (sidebar1.ExpandedPanel != null)
            {
                if (sidebar1.ExpandedPanel.ItemImageSize == DevComponents.DotNetBar.eBarImageSize.Large)
                {
                    mnuLarge.Checked = true;
                    mnuSmall.Checked = false;
                }
                else
                {
                    mnuLarge.Checked = false;
                    mnuSmall.Checked = true;
                }
            }
        }

        private void mnuLarge_Click(object sender, EventArgs e)
        {
            SideBar sidebar1 = null;
            foreach (Control ctrl in panelDockContainer1.Controls)
            {
                if (ctrl is SideBar)
                {
                    sidebar1 = (SideBar)ctrl;
                    break;
                }
            }
            if (sidebar1.ExpandedPanel != null)
            {
                foreach (SideBarPanelItem spanel in sidebar1.Panels)
                {
                    spanel.ItemImageSize = eBarImageSize.Large;
                }
            }
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory   "userFile.xml");
            XmlNode xnode = xmlDoc.SelectSingleNode("UserConfig/iconSize");
            xnode.InnerText = "Large";
            xmlDoc.Save(Application.StartupPath   "\\userFile.xml");
        }

        private void mnuSmall_Click(object sender, EventArgs e)
        {
            SideBar sidebar1 = null;
            foreach (Control ctrl in panelDockContainer1.Controls)
            {
                if (ctrl is SideBar)
                {
                    sidebar1 = (SideBar)ctrl;
                    break;
                }
            }
            if (sidebar1.ExpandedPanel != null)
            {
                foreach (SideBarPanelItem spanel in sidebar1.Panels)
                {
                    spanel.ItemImageSize = eBarImageSize.Default;
                }
            }
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory   "userFile.xml");
            XmlNode xnode = xmlDoc.SelectSingleNode("UserConfig/iconSize");
            xnode.InnerText = "Small";
            xmlDoc.Save(Application.StartupPath   "\\userFile.xml");
        }
    }
}