最近一段时间用到的一些新知识点,多屏显示功能,后台运行系统托盘功能,excel表格导入功能

   最近一段时间在做一个新的小项目,虽然整体来说不是很难,但是还是遇到几个自己之前没做到的功能,琢磨了半天才弄出来,现记录下来了以备以后用的上

1.多屏显示功能

   一开始要实现这个的时候觉的这个真的好高大上,但是当完成之后发现,其实这些微软都帮我们封装好了

            Screen[] sc;//显示器
            sc = Screen.AllScreens;
            this.FormBorderStyle = FormBorderStyle.None; //无边框全屏显示
            this.StartPosition = FormStartPosition.Manual;
            this.Location = new Point(sc[1].Bounds.Left, sc[1].Bounds.Top);//sc[1]表示的是第二个显示器只需要修改里面的索引就可以了,0表示第一个,一般也不用设,主界面就是,第二个是1,以此类推
            this.WindowState = FormWindowState.Maximized;

就只需要这几行代码就可以,控制是在哪个显示器里的,就在sc[1]这个来设置,我有完整的实例代码已经上传,可以下载下来看看,需要注意的是: 如果你的电脑没有第二个显示器,而你这个窗口设置了在第二个显示器显示的话,就会报错

2.后台运行系统托盘功能

   这个功能我这边是一打开不显示主界面直接在后台运行,然后在系统托盘处有一个小图片可以操作就可以了,这边有个注意的地方,如果要一上来直接后台运行,就不能把隐藏本窗体的代码写在load事件里面,要写在Shown事件里面才能实现

        private void Form1_Shown(object sender, EventArgs e)
        {
            this.Hide();//隐藏本窗体
        }

实现系统托盘功能需要先将窗体里面的 ShowInTaskbar属性设置成 False,然后拖一个 notifyIcon控件contextMenuStrip控件,在将 notifyIcon控件里的 ContextMenuStrip属性选择这个 contextMenuStrip控件的name,这样就实现了右击小图标出现菜单, 注意,notifyIcon控件里的ICON属性必须添加小图标,不然系统托盘处,你就不知道哪个是你的程序

3excel表格上传导入功能

这个一般用的是比较多的,批量上传可以大大的加快上传到数据库中的效率

首先需要获得整个excel文件的全路劲用openFileDialog就可以,整个的文件路径就可以得到,代码如下

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            //文件过滤器,指定选择的只能是后缀xls的文件
            openFileDialog1.Filter = "Microsoft Excel files(*.xls)|*.xls;*.xlsx";
            openFileDialog1.ShowHelp = true;
            openFileDialog1.RestoreDirectory = true;
            openFileDialog1.Multiselect = false;
            openFileDialog1.FilterIndex = 1;
            // 打开 "打开文件对话框",并将结果保存在result里。
            DialogResult result = openFileDialog1.ShowDialog();
            //如果用户选择"确定"
            if (result == DialogResult.OK)
            {
                //打开文件对话框的文件名保存在MyExcelAll(取出来的是一个完整的路径)
                MyExcel = openFileDialog1.FileName;
                this.textBox1.Text = MyExcel;//将文件的全路径显示在文本框里
            }
        }
然后再将整个表格里的数据导入到数据库中,这里需要注意的是,表格必须是你规定好的代码如下
 private void button2_Click(object sender, EventArgs e)
        {
            OleDbConnection conn;
            try
            {
                bool bl = true;
                //如果表格是office2004版本的就用这个
                // string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
                //如果表格是office2007版本的就用这个
                conn = new OleDbConnection("Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + MyExcel + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'");
                conn.Open();
                string sql = "select * from [Sheet1$]";
                OleDbCommand mycommand = new OleDbCommand(sql, conn);
                OleDbDataAdapter myadapter = new OleDbDataAdapter(sql, conn);
                DataSet myset = new DataSet();
                myadapter.Fill(myset);
                foreach (DataRow mdr in myset.Tables[0].Rows)//循环读取第一个表格里面的数据
                {
                    DBHelp help = new DBHelp();
                    string sql_ = "insert into number_(number_one,number_two) values('" + mdr[0].ToString() + "','" + mdr[1].ToString() + "')";
                    if (help.ExecQuey(sql_) > 0)
                    {
                    }
                    else
                    {
                        bl = false;
                    }
                }
                if (!bl)
                {
                    MessageBox.Show("导入失败!");
                }
                else
                {
                    MessageBox.Show("导入成功!");
                }
                loding();
            }
            catch (Exception myex)
            {
                MessageBox.Show(myex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

我这里给上面每个功能都做了一个小案例,可以下载下来,调试着看,跟容易知道怎么做!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值