我想让两张图片交替显示由于两张图片是位置是重和的,所以就想设置一张图片每2秒显示以下,持续两秒再消失求指点啊!或者是有什么其他解决方法也可以!
解决方案 »
- C#中非模态对话框中控件不能正常显示
- 新手求助dataGridview 中的每一个格子中的数据如何取出?
- C# WinCE 中老是提示"未标记为可序列化"的错误,实在搞不定~
- Javascript调用C#里的函数
- (webform)怎样获得treeview中指定节点的级数?在线等!
- 高分求C#设计模式电子书
- 新手做C#链连接Acess数据库模糊查询的时候出现问题。大家给支个招
- XML配置中文字符后添加中文后无法反序列化
- 用C#如何实现窗体最小化时,放到任务栏右端的静态区中
- 再另一台服务器上发布含有Web Service的asp.net应用程序object can't find错误
- 关于安装部署不能移除旧版exe的问题【高手请进】
- vs 2005 C# DataGridView 分页问题
位置重合就用一个Image控件改变它的ImageUrl持续两秒再消失?意思在换的时候。。还要先让图片消失2秒。。再换过来?
bool flag = false; public Form1()
{
InitializeComponent();
timer = new System.Threading.Timer(arg =>
{
pictureBox1.ImageLocation = flag ? @"D:\1.jpg" : @"D:\2.jpg";
flag = !flag;
}, null, 0, 2000);
}
//放个Image控件放个timer控件
//设置timer的Interval="2000"
//在timer的Tick事件中
string url = Image1.ImageUrl;
if (url == "1.jpg")
{
Image1.ImageUrl = "2.jpg";
}
else
{
Image1.ImageUrl = "1.jpg";
}
int m = 0;timer.interval = 2000;timer.tick事件中:m++;
m%=4;if(m==0)
{
显示第一张
}
else if(m == 1)
{
隐藏第一张
}
else if(m == 2)
{
显示第二张
}
else if(m == 3)
{
隐藏第二张
}
这种方式有点死,扩展有点麻烦。
if (PictureBoxA.Visible ==true && PictureBoxB.Visible ==false )
{
PictureBoxA.Visible = false;
PictureBoxB.Visible = true;
}
else
{
PictureBoxA.Visible = true;
PictureBoxB.Visible = false;
}
从其中读取图片,使用索引,基于0.在类中声明一个整型变量,来标记图片索引。在Timer控件的Tick事件中编写代码int i = 0;
private void Timer1_Tick(object sender,EventArgs e)
{
this.pictureBox1.Image = Image.FromFile(this.imagelist1.Images[i]); if(i < this.imagelist1.Images.Count - 1)
{
i ++;
}
else
{
i = 0;
}
}
方法比较笨 看看适不适合吧。。