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_ ...
随机推荐
- 笔记:webpack 打包参数 mode development
webpack 打包参数 mode development 在开发时使用 webpack 打包后不压缩,所以只需要在 webpack 打包命令中加上 --mode mode development 即 ...
- oracle之 等待事件LOG FILE SYNC (awr)优化
log file sycn是ORACLE里最普遍的等待事件之一,一般log file sycn的等待时间都非常短 1-5ms,不会有什么问题,但是一旦出问题,往往都比较难解决.什么时候会产生log f ...
- TCP 、UDP、IP包的最大长度
1.概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层. 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Da ...
- 谈谈对zynq的浅显理解
zynq并不能说是一个嵌入arm核的FPGA.从它的启动过程就可以发现,绝对是arm主导的,所以称它为以高性能FPGA为外设的双核arm或许更为合适.以下是优势: 第一个:开发环境的大集成.从hls到 ...
- windows 我永远的最爱
我配置好这个真不容易.总结下,配置中没搞清楚发布远程日志网址的意思:每一个博客配置都不同,比如新浪.网易.51技术博客
- 同步机制之--java CyclicBarrier 循环栅栏
CyclicBarrier介绍一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待 ...
- Java程序中不通过hadoop jar的方式访问hdfs
一般情况下,我们使用Java访问hadoop distributed file system(hdfs)使用hadoop的相应api,添加以下的pom.xml依赖(这里以hadoop2.2.0版本 ...
- Linux学习笔记 - Shell 函数的使用
基本语法 funname () { action; return -)):如果不加,将以最后一条命令运行结果,作为返回值. } 示例1:定义并调用无返回值的函数 #!/bin/bash a= b= c ...
- java做web抓取
就像许多现代科技一样,从网站提取信息这一功能也有多个框架可以选择.最流行的有JSoup.HTMLUnit和Selenium WebDriver.我们这篇文章讨论JSoup.JSoup是个开源项目,提供 ...
- 生成html页面客户端随机数和验证码
生成随机数: var chars = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', ...