winfrom datagridview ,picturebox,显示图片,以及删除问题


private void write_listview(DataSet ds)
{
DataTable dt = ds.Tables[0];
dataGridView1.DataSource = dt.DefaultView;
for (int i = 0; i < dt.Rows.Count; i++)
{
dataGridView1.Rows[i].Cells["num"].Value = i + 1;
dataGridView1.Rows[i].Cells["image"].Value = GetFile(AppDomain.CurrentDomain.BaseDirectory + @"File\" + dt.Rows[i]["Pic"].ToString());
}
}
/// pictureBox绑定图片
pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox2.Image = GetFile(AppDomain.CurrentDomain.BaseDirectory + @"File\" + path);
///
/// 将文件转为内存流
///
///
///
private MemoryStream ReadFile(string path)
{
if (!File.Exists(path))
return null;
using (FileStream file = new FileStream(path, FileMode.Open))
{
byte[] b = new byte[file.Length];
file.Read(b, 0, b.Length); MemoryStream stream = new MemoryStream(b);
return stream;
}
} ///
/// 将内存流转为图片
///
///
///
private Image GetFile(string path)
{
MemoryStream stream = ReadFile(path);
return stream == null ? null : Image.FromStream(stream);
}
or(
public System.Drawing.Image GetImage(string path)
{
FileStream fs = new FileStream(path, FileMode.Open);
Image result = Image.FromStream(fs); fs.Close(); return result; }
)
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
//var s = dataGridView1.Columns[e.ColumnIndex].Name;
path = dataGridView1.Rows[e.RowIndex].Cells["imagepath"].Value.ToString();
id = dataGridView1.Rows[e.RowIndex].Cells["Column2"].Value.ToString();
if (dataGridView1.Columns[e.ColumnIndex].Name == "image")
{
pictureBox2.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox2.Image = GetFile(AppDomain.CurrentDomain.BaseDirectory + @"File\" + path); }
if (dataGridView1.Columns[e.ColumnIndex].Name == "Column_del")
{
pictureBox2.Image = null;
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + @"File\" + path))
{
File.Delete(AppDomain.CurrentDomain.BaseDirectory + @"File\" + path);
}
string sqlstr = "DELETE from [Image] where ID= '" + id + "'";
int count = SQLiteHelper.ExecuteNonQuery(sqlstr);
if (count > 0)
{
this.dataGridView1.Rows.Remove(this.dataGridView1.Rows[e.RowIndex]);
MessageBox.Show("删除成功!");
sqlstr = "SELECT * FROM [Image] where [EID]='" + editsrt + "'";//"SELECT * FROM [Image] where EID='" + eid + "'";
DataSet ds_img = SQLiteHelper.ExecuteQuery(sqlstr);
write_listview(ds_img); } }
winfrom datagridview ,picturebox,显示图片,以及删除问题的更多相关文章
- EmguCV控件Emgu.CV.UI.ImageBox及C# picturebox显示图片连续刷新出现闪烁问题
在上一篇里,EmguCV(OpenCV)实现高效显示汉字及叠加 实现了视频叠加及显示,但存在问题,就是 Emgu.CV.UI.ImageBox及C# picturebox显示图片时都会出现闪烁,尤其 ...
- C#winfrom listview 设置显示图片
ListView控件有5种显示图片方式:LargeIcon(大图标),Detail(详细),SmallIcon(小图标),List(列表),Tile,常用前4种. 这里说一下设置方式:LargeIc ...
- [WinForm]- 设置DataGridView单元格内根据不同值显示图片
首先设置要显示图片的列 DataGridViewImageColumn status = new DataGridViewImageColumn(); status.DisplayIndex = ; ...
- 如何使用SOIL在VS2012的 C++环境下显示图片
先看下效果. 这是一个很无聊的功能....首先说下,我做这个功能的初衷并不是为了实现在控制台中显示图片...(这貌似很无聊) 而是因为自己想做用C做一个游戏:http://q.cnblogs.com/ ...
- While readingiphone真机无法显示图片,而模拟器可以正常显示
可能,很多开发IOS程序的遇到过在模拟器里,加载图片都是正常的,但是在真机里就会出现图片资源不能加载的问题. 其中一种原因是,在Simulator里面,例如:图片资源名称为:a.PNG,在代码你里,你 ...
- 利用COM组件IPicture读取jpg、gif、bmp图片文件数据和显示图片
1.读取图片数据 函数原型:bool LoadImage(const char *pName, unsigned char *pBitData); 函数功能,读取pName指向的图片文件的位图数据 b ...
- 我写的一个 Qt 显示图片的控件
Qt 中没有专门显示图片的控件.通常我们会使用QLabel来显示图片.可是QLabel 显示图片的能力还是有点弱.比方不支持图像的缩放一类的功能.使用起来不是非常方便. 因此我就自己写了个简单的类. ...
- FrameBuffer系列 之 显示图片
摘自:http://blog.csdn.net/luxiaoxun/article/details/7622988 #include <unistd.h> #include < ...
- winfrom中pictureBox控件的部分使用方法
一.后台属性 1.pictureBox1.Image显示图片 2.pictureBox1.ImageLocation存储和提取图片路径 二.面板属性 1.Picturebox控件SizeMode属性 ...
随机推荐
- keepalived与zookeeper
keepalived与zookeeper都可以用来实现高可用,高可用一般跟负载均衡会一起考虑,所以通常也会考虑到相应的负载均衡能力, 1.概括对比: 1.1.Keepalived: 优点:简单,基本不 ...
- zookeeper各种报错、原因及解决方法汇总(持续更新)
[root@iZ23nn1p4mjZ zookeeper-3.4.10]# bin/zkCli.sh -server localhost:2181,localhost:2182,localhost:2 ...
- MySql概念(二)
一.Sql规范? sql是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 在使用它时,只需要发出“做什么 ...
- 解决在ubuntu中安装或升级时出现“11:资源暂时不可用”错误
解决在ubuntu中安装或升级时出现“11:资源暂时不可用”错误 解决在ubuntu中安装或升级时出现“11:资源暂时不可用”错误. 下图为具体情况: 出现问题: termial下在执行sudo ap ...
- C#实现根据地图上的两点坐标,计算直线距离
根据地图上的两点坐标,计算直线距离,在网上找到javascript的写法,用C#实现一下 /// <summary> /// 根据地图上的两点坐标,计算直线距离 /// </summ ...
- 详解重定向(HTTP状态码301/302/303/307/408)附例子
本文为原创文章,转载请注明出处. 今天打算好好把状态码301.302.303.307.308好好撸一遍,并会测试下一些例子. 状态码的解释 我们都知道重定向与这几种状态码有关,来看下这几种HTTP状态 ...
- bzoj 1295 最长距离 - 最短路
Description windy有一块矩形土地,被分为 N*M 块 1*1 的小格子. 有的格子含有障碍物. 如果从格子A可以走到格子B,那么两个格子的距离就为两个格子中心的欧几里德距离. 如果从格 ...
- Bootstrap3基础 img-thumbnail 给图片加一个圆角的边框
内容 参数 OS Windows 10 x64 browser Firefox 65.0.2 framework Bootstrap 3.3.7 editor ...
- img的基线对齐问题
http://blog.csdn.net/u011997156/article/details/44806523
- POJ 1251 + HDU 1301 Jungle Roads 【最小生成树】
题解 这是一道裸的最小生成树题,拿来练手,题目就不放了 个人理解 Prim有些类似最短路和贪心,不断找距当前点最小距离的点 Kruskal类似于并查集,不断找最小的边,如果不是一棵树的节点就合并为一 ...