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_ ...
 
随机推荐
- js前台调用lodop打印
			
lodop简单介绍 lodop的打印功能已经非常强大,也在带web端的图形界面,可以供用户使用.使用js在前台调用lodop打印,一般分为两种方法: 1:特殊的指令打印,这种打印方式,是采用的与js无 ...
 - Unit01: Web概述 、 HTML概述 、 文本处理 、 图像和超链接 、 表格 、 表单
			
Unit01: Web概述 . HTML概述 . 文本处理 . 图像和超链接 . 表格 . 表单 demo1.html <!-- 声明网页的版本(文档类型) --> <!doctyp ...
 - 杂项:HTML5-1/3-发展历程
			
ylbtech-杂项:HTML5-1/3-发展历程 万维网的核心语言.标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改(这是一项推荐标准.外语原文:W3C Recommendat ...
 - APP推送通知相关实现
			
关于推送通知,iOS推送主要是通过服务端来实现的,相关过程可以参考下面两篇文章: http://cshbbrain.iteye.com/blog/1859810 http://zxs198 ...
 - 003:MySQL账号创建授权以及Workbench
			
目录 一. 权限管理 1."用户 + IP"的概念 2. 用户权限管理 3. 基本操作 4. 撤销权限 5.授权和创建用户 二. MySQL模拟角色 三. Workbench与Ut ...
 - 十八  线程暂停   suspend/ resume
			
1 Suspend.resume 的缺点1 :独占! 线程执行到同步块中,如果线程暂停了,不会释放锁. 比如,比如System.out.println()方法就是一个同步方法, 如果线程调用Sys ...
 - 浅谈PHP面向对象编程(二、基础知识)
			
和一些面向对象的语言有所不同,PHP并不是一种纯面向对象的语言,包PIP它支持面向对象的程序设计,并可以用于开发大型的商业程序.因此学好面向对象输程对PHP程序员来说也是至关重要的.本章并针对面向对象 ...
 - ListView下拉刷新,上拉自动加载更多
			
下拉刷新,Android中非常普遍的功能.为了方便便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能.设计最初是参考开源中国的Android客户端源码.先看示例图. ...
 - poj 3518 Prime Gap
			
Prime Gap Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7392 Accepted: 4291 Descrip ...
 - [Oracle] 用python插入中文
			
先替换字符串中的\x22 为双引号,\x0A为回车 str2 = '{\x22name\x22:\x22hao\x22 \x0A ,\x22os\x22:\x22other\x22 } print s ...