winfrom 循环播放图片
没啥新东西了,就是遍历和匹配文件名然后获取对象,放到picturebox里面
选中listview中想要查看的图片,然后点击查看按钮,进行↓代码。
if (listView1.SelectedItems.Count > 0)
{
string name = listView1.Items[listView1.SelectedIndices[0]].Text;//选中的文件名
string dpath = fName.Substring(0, fName.LastIndexOf("\\"));//去除掉文件名
DirectoryInfo dti = new DirectoryInfo(dpath);
FileInfo[] file = dti.GetFiles(name);//查找名称和name一样的图片
Bitmap bmp = new Bitmap(file[0].FullName);
pictureBox1.Image = bmp;
pictureBox1.Refresh();
getgridv(name);
}
else
{
MessageBox.Show("请先选中需要查看的图片");
}
循环播放
循环播放用的线程执行,因为用进程执行的话,他会一直执行图片的循环而无法进行其他操作。
在方法中启动线程执行方法,需要在构造中加上Control.CheckForIllegalCrossThreadCalls = false;
然后就是点击按钮,创建并开启线程
if (run==null)
{
Thread td = new Thread(xunhuan);
td.Start();
}
int i = ;
bool bf = true;//判断是否暂停播放
string run = null;//用来判断线程是否在运行
public void xunhuan()
{
run = "run";
if (listView1.SelectedItems.Count > )//如果listview有选中项就从选中项开始循环
{
while (true)
{
if (!bf)
{
break;
}
if (i >= listView1.Items.Count)
{
i = ;
break;
}
if (i >= listView1.SelectedIndices[])
{
cycle(i);//加载图片
System.Threading.Thread.Sleep();
}
i++;
}
}
if (i == )
{
int j = ;
while (true)
{
if (!bf)
{
break;
}
if (j >= listView1.Items.Count)
{
j=;
}
//listView1.Items[j].Focused = true;
cycle(listView1.Items[j].Text);
System.Threading.Thread.Sleep();
j++;
}
}
}
还有一个倒叙循环,和上面基本一样,也是通过线程执行,判断bool是否暂停。
private void daoxu()
{
run = "daorun";
int dx = listView1.Items.Count;
if (listView1.SelectedItems.Count > 0)//如果listview有选中项就从选中项开始循环
{
while (true)
{
if (!bf)
{
break;
}
if (dx < 0)
{
break;
}
if (dx <= listView1.SelectedIndices[0])
{
cycle(dx);//加载图片
System.Threading.Thread.Sleep(300);
}
dx--;
}
}
if (dx == listView1.Items.Count)
{
int j = listView1.Items.Count - 1;
while (true)
{
if (!bf)
{
break;
}
if (j < 0)
{
break;
}
//listView1.Items[j].Focused = true;
cycle(listView1.Items[j].Text);
System.Threading.Thread.Sleep(300);
j--;
}
}
}
点击更改bf属性来更改播放状态
if (bf)
{
bf = false;//停止
btn_pause.Text = "停止";
}
else
{
bf = true;//播放
btn_pause.Text = "播放";
run = null;
}
winfrom 循环播放图片的更多相关文章
- iOS 用Swipe手势和动画实现循环播放图片
主要想法 添加3个ImageView展示图片,实现图片的无限循环. 使用Swipe手势识别用户向右或向左滑动图片. 使用CATransition给ImageView.layer添加动画,展示图片更换的 ...
- c# pictureBox 循环播放图片
c# 1.遍历目录 查找图片 2.在 pictureBox 循环播放 public void PlayThread()//CMD_UpdateBtnStatus cmd { Int32 framera ...
- iOS scrollview循环播放加缩放
前些日子一直在研究3d的框架没有时间写博客,不过最后需求改了,也没研究出个啥.这段时间出了新的需求,需要循环播放图片,并且滑动的时候中间的图片有缩放的效果.刚开始想在网上搜索,不过并没有找到合适的de ...
- android 自定义无限循环播放的viewPager。轮播ViewPager。实现循环播放 广告,主题内容,活动,新闻内容时。
前言 实际项目需要一个 播放广告的控件,可能有多个广告图片.每个一段时间更换该图片.简单来说,就是一个 “循环播放图片”的控件. 间隔时间更换图片 一般来说,图片切换时需要有动画效果 需要支持手势,用 ...
- 在WPF中显示GIF图片并实现循环播放
WPF中有一个MediaElement媒体控件,可以来播放媒体,同时也可以显示GIF图片.但看到网上有些人说用MediaElement不能加载作为资源或内嵌的资源的GIF图片,我猜他们一定是在前台用X ...
- JS可控制的图片自动循环播放查看效果
JS可控制的图片自动循环播放查看效果 <html> <head> <title>JS可控制的图片自动循环播放查看效果丨芯晴网页特效丨CsrCode.Cn</t ...
- 使用javascript实现图片上下切换效果并且实现顺序循环播放
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- 用jquery写循环播放div的相关笔记 珍贵的总结 -1
用jquery写循环播放div line-height应用的元素的 层次? line-heig字ht, 叫行高, 仅仅是指 文/文本, 而不管图片. line-height是容器中 文本行 与 文本行 ...
- Android播放图片动画
1.布局文件中添加ImageView <ImageView android:id="@+id/iv_fan" android:layout_width="wrap_ ...
随机推荐
- JavaScript中的函数(一)
javaScript中的函数实际上是对象,每一个函数都是Function类型的实例,和其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也就是一个指向函数对象的指针,也就是函数对象的一个 ...
- 云原生应用基金会CNCF
2006 年 8 月 9 日,埃里克·施密特(EricSchmidt)在搜索引擎大会上首次提出了“云计算”(Cloud Computing)的概念.一转眼十年过去了,它的发展势如破竹,不断渗透当代的 ...
- Shell脚本一键安装LNMP环境
https://sourceforge.net/projects/opensourcefile/files/ Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则 ...
- linq左连接
Table1和Table2连接,把Table1的全列出来 var tempData = from a in table1 join b in table2 on a.Id equals b.aId i ...
- 【备忘录】yii2高级模板多个应用启用同一个域名多个栏目
nginx部署方式,两种写法,本人认为第一种写法没有第二种写法优雅 第一种写法配置文件: server { listen ; server_name youban-dev.jqtest.mopon.c ...
- laravel Auth token创建于使用
token 的创建和使用, https://laravelacademy.org/post/3640.html 用户表密码字段验证修改,不只是password https://www.jianshu. ...
- composer包php-amqplib
php-amqplib官方文档 url:http://www.rabbitmq.com/tutorials/tutorial-one-php.html #测试demo: url: http://**. ...
- linux tcp server demo
#include <sys/types.h> #include <sys/socket.h> #include <string.h> #include <ne ...
- 为什么我tracert经过H3C设备的时候,老是*号,不回包
两条命令搞定 ip unreachables en ip ttl-expires enable
- 启动 Eclipse 报错 “An internal error occurred during: "Initializing Java Tooling". java.lang.NullPointerException”
之前在线升级了Eclipse,由于网络/或者是设置问题,在升级完成后启动Eclipse出线上述错误... 解决方法 1. 删除目录工作目录下面的.project文件夹: 如下图: 2. 关闭Eclip ...