using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
using System.IO;
using System.Runtime.InteropServices

namespace 自动切换图像
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private bool Stara_Stop = true;
string path1,path2;
int i = 1;
private void timer1_Tick(object sender, EventArgs e)//自动切换
{
try
{
if (!Stara_Stop && (i < (Convert.ToInt16(textBox1.Text) + 1)))
{

//Thread.Sleep(1000);
pictureBox1.Image = null;
path2 = path1 + i.ToString() + Image_format();
pictureBox1.Image = Image.FromFile(path2);
if (i == Convert.ToInt16(textBox1.Text))
{
i = 0;
}
i++;

}
}
catch (Exception ex)
{
timer1.Enabled = false;
MessageBox.Show(ex.Message,"error!",MessageBoxButtons.OK);
}
}

private void button1_Click(object sender, EventArgs e)//开始停止
{
if(m_Data_null())
{
if (Stara_Stop)
{
path1 = path();
button1.Text = "停止切换";
button1.BackColor = Color.Red;
Stara_Stop = false;
timer1.Enabled = true;
timer1.Interval = Convert.ToInt16(textBox3.Text);

textBox1.Enabled = false;
textBox2.Enabled = false;
textBox3.Enabled = false;
comboBox1.Enabled = false;
button2.Enabled = false;
}
else
{
button1.Text = "开始切换";
button1.BackColor = Color.White;
Stara_Stop = true;
timer1.Enabled = false;

textBox1.Enabled = true;
textBox2.Enabled = true;
textBox3.Enabled = true;
comboBox1.Enabled = true;
button2.Enabled = true;

}
}
}

private bool m_Data_null()
{
bool m_Data = false;
if (textBox1.Text != string.Empty && textBox2.Text != string.Empty && textBox3.Text != string.Empty
&& comboBox1.Text != string.Empty)
{
m_Data = true;
}
else
{
m_Data = false;
MessageBox.Show("请设置切换的图像及条件!", "提示!", MessageBoxButtons.OK);
}
return m_Data;
}

private string path()//图像路径
{
string m_path;
if (textBox1.Text == string.Empty)
{
m_path = @"D:\_VS2015_\图像自动切换\Image\robot\";

}
else
{
m_path = textBox2.Text+ @"\";
}
return m_path;
}

private string Image_format()//图像格式
{
string format;
format = comboBox1.Text;
return format;
}

private void folderBrowserDialog1_HelpRequest(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Text = ".PNG";
}

private void button2_Click(object sender, EventArgs e)
{
i = 1;
pictureBox1.Image = null;
}

private void textBox2_MouseDoubleClick(object sender, MouseEventArgs e)
{
//选择打开文件
//OpenFileDialog of = new OpenFileDialog();
//if (of.ShowDialog() == DialogResult.OK)
//{
// textBox2.Text = of.FileName;
//}

//选择文件夹路径

FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
textBox2.Text = folderBrowserDialog.SelectedPath;
//获取文件数量
var flies = Directory.GetFiles(textBox2.Text);
textBox1.Text = (flies.Length).ToString();
}
}

private void button3_Click(object sender, EventArgs e)
{
this.Close();
}

}
}

//以下是UI界面

C# 图像自动切换的更多相关文章

  1. 【温故而知新-Javascript】图片效果(图像震动效果、闪烁效果、自动切换图像)

    1.当鼠标指针经过图像时图像震动效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  2. 自定义Image自动切换图像控件

    做这么一个控件,图片自动切换,形成动画效果. 随便的码码,码完发现东西太少了,不过还算完善. public class MyPictureBox : PictureBox { Timer timer ...

  3. 原生js+css3实现图片自动切换,图片轮播

    运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...

  4. 获取bing.com的图片并在gnome3中设置自动切换

    发现 bing.com 上的图片很好看,因此打算每天把 bing.com 的图片下载下来,用作桌面. 需要做的是两个部分,爬取图片到目录和设置目录图片为桌面背景并可以自动切换. 第一部分,下载图片,使 ...

  5. 在 Visual Studio 等编辑器/IDE中自动切换输入法,不需要手动的有没有?

    使用Visual Studio写代码,经常遇到的一个问题就是切换中文输入法麻烦,输入完注释//,要切换到中文,输入完引号,要输入中文,然后还需要切换回来,有没有? 有时候中文输入法忽然失效有没有?明明 ...

  6. jquery背景自动切换特效

    查看效果网址:http://keleyi.com/a/bjad/4kwkql05.htm 本特效的jquery版本只支持1.9.0以下. 代码如下: <!DOCTYPE html PUBLIC ...

  7. jquery叠加页片自动切换特效

    查看效果:http://keleyi.com/keleyi/phtml/jqtexiao/34.htm 下面是HTML代码: <!DOCTYPE html> <html xmlns= ...

  8. Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片

    Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...

  9. ios基础篇(二十三)—— 定时器NSTimer与图片的自动切换

    一.NSTimer NSTimer是一个能在从现在开始到后面的某一个时刻或者周期性的执行我们指定的方法的对象.可以按照一定的时间间隔,将制定的信息发送给目标对象.并更新某个对象的行为.你可以选择在未来 ...

随机推荐

  1. Windows系统之hosts文件

    对于Hosts文件相信很多Win7的系统用户会比较陌生,其实Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,所以功 ...

  2. Unity即将内置骨骼动画插件Anima2D

    Unity一直在寻找新的方法来帮助开发者,并为他们提供最好的工具.在此我们向大家宣布,Unity将内置流行的骨骼动画插件Anima2D,从2017年1月开始免费供所有Unity开发者使用! 同时也欢迎 ...

  3. TZOJ 4746 Xiangqi(模拟棋盘数组)

    描述 Xiangqi is one of the most popular two-player board games in China. The game represents a battle ...

  4. 5-分西瓜差最小(背包 || dfs)

    /*   zb立刻下定决心买了一堆西瓜.当他准备把西瓜送给C小加和never的时候,遇到了一个难题,never和C小加不在一块住,只能把西瓜分成两堆给他们,为了对每个人都公平,他想让两堆的重量之差最小 ...

  5. nginx反向代理部署与演示(二)

    我们把LB01作为负载均衡器,WEB01和WEB02作为两台web服务器.   WEB01与WEB02虚拟主机配置如下:   我们修改nginx下的conf/nginx.conf文件,在http{}中 ...

  6. php ZeroMQ 的使用

    一.ZeroMQ简介 ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 Socket Library,他使得 Socket 编程更加简单.简洁和性能更高.是一个消息 ...

  7. php下ajax的文件切割上传

    html5中的File对象继承Blob二进制对象,Blob提供了一个slice函数,可以用来切割文件数据. <!DOCTYPE HTML> <html lang="zh-C ...

  8. 教你用PS修复老照片

    原图素材虽然很旧,不过人物部分并没有怎么损坏,只是有一些色块和杂色.修复的工程相对来说也少很多.只需要给人物磨好皮,然后把暗调和高光部分调出来即可.原图     一.打开原图素材,按Ctrl + J ...

  9. word2vec相关资源

    word2vec官网:https://code.google.com/p/word2vec/ 利用中文数据跑Google开源项目word2vec:http://www.cnblogs.com/hebi ...

  10. part1:3-VMware及redhat enterprise Linux 6 的安装

    创建虚拟机PC FILE->NEW Virtual machine->custom(自定义,定制)->...->I WILL INSTALL THE OS LATER-> ...