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,