但按钮单击事件中,用图片框控件的图片数组属性,根据下表来一次获取图片,每执行一次,下标加1.但是,在此之前应设置一个全局变量i。给i赋个初值,然后在将i作为图片数组下标,最后设置一个判断下表i值为多少时重新赋值为第一张图片的下标!
下面是完整代码,仅作参考(我用了9张图片):
using System
using System.Collections.Generic
using System.ComponentModel
using System.Data
using System.Drawing
using System.Text
using System.Windows.Forms
namespace PicExplorer
{
public partial class FrmMyPicExp : Form
{
int index = 0//全局变量
public FrmMyPicExp()
{
InitializeComponent()
}
private void FrmMyPicExp_Load(object sender, EventArgs e)//加载图片
{
MyPicpictureBox.Image = MyPicimageList.Images[index]
}
private void tSBnext_Click_1(object sender, EventArgs e)//下一张图片 按钮单击事件
{
if (index < 9)
{
MyPicpictureBox.Image = MyPicimageList.Images[index + 1]
index++
}
else
{
index = 0
MyPicpictureBox.Image = MyPicimageList.Images[index]
}
}
private void tSBlast_Click(object sender, EventArgs e)//上一张 按钮单击事件
{
if (index < 9)
{
MyPicpictureBox.Image = MyPicimageList.Images[9-index]
index++
}
else
{
index = 0
MyPicpictureBox.Image = MyPicimageList.Images[index]
}
}
private void tSBplay_Click(object sender, EventArgs e)//自动播放按钮
{
secondtimer.Start()
}
private void tSBstop_Click(object sender, EventArgs e)//停止播放按钮
{
secondtimer.Stop()
}
private void secondtimer_Tick_1(object sender, EventArgs e)//时间控制器,这里可以设置时间间隔
{
if (index < 9)
{
MyPicpictureBox.Image = MyPicimageList.Images[index + 1]
index++
}
else
{
index = 0
MyPicpictureBox.Image = MyPicimageList.Images[index]
}
}
}
}
google了一下,找到一些概念:定义:一个程序切片是由程序中的一些语句和判定表达式组成的集合.这些语句和判定表达式可能会影响在程序的某个位置(常用行号标识)p上所定义的或所使用的变量v的值。
所谓程序切片是指通过分析程序的数据依赖和控制依赖而达到自动分解源程序的一种方法.其中数据依赖揭示了语句间存在的数据流方面的内在联系而控制依赖则揭示了语句间存在的控制流的内在联系。
程序P的切片S是P的一个可执行部分,对某个兴趣点s处的变量v而言,这个可执行部分相对于程序P,在功能上是等效的[1].程序切片S由程序P中可能影响s处变量v的值的所有语句组成。
程序切片是一种分析和理解程序的技术,是通过对源程序中每个兴趣点分别计算切片来达到对程序的分析和理解.程序中某个兴趣点的程序切片不仅与在该点定义和使用的变量有关,而且与影响该变量的值的语句和谓词以及受该变量的值影响的语句和谓词有关.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)