C#简单窗体操作 地信图片处理

C#简单窗体操作

其实很久没有写C#程序了,地信这行写程序被arcgis写完了,已经转前端写网页了,今天写一写记一下那些知识好以后自己看吧

一.数据库选择

我们编写项目,要让用户可以有交互感,那数据库必不可少,但当我们学生时期,或者项目很少的时候,使用sql,传到云端,未免太过麻烦,也添加生产成本,所以当我们开发小项目时,可以使用sqlite数据库,这个数据库是嵌入式数据库,因为大多数电脑都内置了,而且网上很多教程,所以在导入C#之后,就可以不用其他多余处理,打包之后直接使用了,很爽。
这里可能有一个小难点,我们导入图片是,由于sqlite中是二进制保存,使用我们需要将我们的图片将转换为数据流,然后在打开,下面我放了一个更改图片的案例,可以参考

//更改图片
  		 private void button36_Click(object sender, EventArgs e)
        {
   
            try
            {
   
                OpenFileDialog open = new OpenFileDialog();
                Stream ms;
                byte[] pictrue;
                if (open.ShowDialog() == DialogResult.OK)
                {
   
                    if ((ms = open.OpenFile()) != null)
                    {
   
                        pictrue = new byte[ms.Length];
                        ms.Position = 0;
                        ms.Read(pictrue, 0, Convert.ToInt32(ms.Length));
                        Image image = Image.FromStream(ms, true);
                        pictureBox7.Image = image;
                        string sql = "update  背景 set 图片=@pictrue where id =1";
                        SQLiteParameter[] paras = new SQLiteParameter[] {
   
                    new SQLiteParameter("@pictrue",pictrue),
                };
                        if (SQLiteHelper.ExecSQL(sql, paras))
                        {
   
                            MessageBox.Show("更改成功");
                        }
                    }

                }


            }
            catch 
            {
   
                MessageBox.Show("暂时不支持该格式的图片", "错误");
            }

        }

二.鼠标移动事件

感觉很多人对鼠标移动都存疑,就讲解一下吧.首先呢,我们创建一个鼠标移动或者点击的事件,获得的参数e,就是我们的鼠标,然后例如,我们点击一个正方形,然后移动他,我们能够保证,一定点击到图片的最左上角吗?不能,所以当我们移动一张图片,我们移动的距离,应该是我们鼠标移动的位置,再算上鼠标距离图片最左上角的位置,这才是我们想移动的照片的距离。

鼠标移动

  		 private static bool isMove = false;
        private static Point mouseDownPoint;


        private void pictureBox7_MouseMove(object sender,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值