win程序,大家帮忙想想怎么办.
长方形四个角有pictureBox1到pictureBox4四张图片 分别是命名pictureBox1 pictureBox2 pictureBox3 pictureBox4
现在从数据库中的到图片按3 1 2 4 3顺序依次闪烁;每张图闪四次或五次
如长方形一个角中pictureBox3闪烁几次,然后是pictureBox1闪烁几次,再到pictureBox2闪烁几次 再到pictureBox4闪烁几次 最后到pictureBox3闪烁几次在停止。
具体代码如下;问题是因为没有延时,在界面上效果就只是所有图片同时一闪,然后没有变化了。
private void button1_Click(object sender, EventArgs e)
{
。。
string sendStrSQL = "SELECT * from 图片表 where 地点 = '" + comboBox1.Text + "' ORDER BY 时间 ASC";
DataTable tempDataTable = datalink.SelectDataBase(sendStrSQL);
for (int i = 0; i < tempDataTable.Rows.Count; i++)//取进出记录 3124
{
string tempplace = tempDataTable.Rows[i][6].ToString().Trim();//位置图片名
for (int j = 0; j < 5; j++)//每个图片闪烁次数
{
switch (tempplace)//位置图片名
{
case "1"://pictureBox1图片
if (pictureBox1.Visible == true)
{
pictureBox1.Visible = false;
}
else
{
pictureBox1.Visible = true;
}
//我在这里试过System.Threading.Thread.Sleep(3000);来延时,没有达到效果
//也试过用函数做很大的循环来控制, Delay(90000000);然后自减到0 也没有达到效果
//我想过用四个timer1来分别启动每个图片的Visible的属性,但是这个顺序不好控制,结果是四个一起闪
//还有就是把这个图片顺序放到aaa[j]中,然后用一个timer控制相应的图片闪,结果是速度太快,感觉不到在闪。
break;
case "2": //pictureBox2图片
if (pictureBox2.Visible == true)
{
pictureBox2.Visible = false;
}
else
{
pictureBox2.Visible = true;
}
break;
case "3"://pictureBox3图片
if (pictureBox3.Visible == true)
{
pictureBox3.Visible = false;
}
else
{
pictureBox3.Visible = true;
}
break;
case "4": //pictureBox4图片
if (pictureBox4.Visible == true)
{
pictureBox4.Visible = false;
}
else
{
pictureBox4.Visible = true;
}
break;
}
}
}
}大家不要嫌分少,可以加的.
长方形四个角有pictureBox1到pictureBox4四张图片 分别是命名pictureBox1 pictureBox2 pictureBox3 pictureBox4
现在从数据库中的到图片按3 1 2 4 3顺序依次闪烁;每张图闪四次或五次
如长方形一个角中pictureBox3闪烁几次,然后是pictureBox1闪烁几次,再到pictureBox2闪烁几次 再到pictureBox4闪烁几次 最后到pictureBox3闪烁几次在停止。
具体代码如下;问题是因为没有延时,在界面上效果就只是所有图片同时一闪,然后没有变化了。
private void button1_Click(object sender, EventArgs e)
{
。。
string sendStrSQL = "SELECT * from 图片表 where 地点 = '" + comboBox1.Text + "' ORDER BY 时间 ASC";
DataTable tempDataTable = datalink.SelectDataBase(sendStrSQL);
for (int i = 0; i < tempDataTable.Rows.Count; i++)//取进出记录 3124
{
string tempplace = tempDataTable.Rows[i][6].ToString().Trim();//位置图片名
for (int j = 0; j < 5; j++)//每个图片闪烁次数
{
switch (tempplace)//位置图片名
{
case "1"://pictureBox1图片
if (pictureBox1.Visible == true)
{
pictureBox1.Visible = false;
}
else
{
pictureBox1.Visible = true;
}
//我在这里试过System.Threading.Thread.Sleep(3000);来延时,没有达到效果
//也试过用函数做很大的循环来控制, Delay(90000000);然后自减到0 也没有达到效果
//我想过用四个timer1来分别启动每个图片的Visible的属性,但是这个顺序不好控制,结果是四个一起闪
//还有就是把这个图片顺序放到aaa[j]中,然后用一个timer控制相应的图片闪,结果是速度太快,感觉不到在闪。
break;
case "2": //pictureBox2图片
if (pictureBox2.Visible == true)
{
pictureBox2.Visible = false;
}
else
{
pictureBox2.Visible = true;
}
break;
case "3"://pictureBox3图片
if (pictureBox3.Visible == true)
{
pictureBox3.Visible = false;
}
else
{
pictureBox3.Visible = true;
}
break;
case "4": //pictureBox4图片
if (pictureBox4.Visible == true)
{
pictureBox4.Visible = false;
}
else
{
pictureBox4.Visible = true;
}
break;
}
}
}
}大家不要嫌分少,可以加的.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货