20 个解决方案
#1
自己顶!
#2
我给你提取一下你的需求:
form1中有一个timer1
timer1中有new form2.Show();
form2中有time2倒计时。
timer2中有this.Close();
现在你想延长temer2的interval
对吧???
form1中有一个timer1
timer1中有new form2.Show();
form2中有time2倒计时。
timer2中有this.Close();
现在你想延长temer2的interval
对吧???
#3
不,我在A中利用timer1的timer1_Tick使b,c,d,e循环当循环到e的时候 我想延长e的时间,timer2也是在A中,他的作用是进行倒计时的!
#4
BackgroundWorker组件介绍(属性、方法、事件)
http://blog.csdn.net/yunhaiC/archive/2009/07/08/4331943.aspx
用一下这个试试看
还有你的问题可以让看延时通断电路,呵呵!
http://blog.csdn.net/yunhaiC/archive/2009/07/08/4331943.aspx
用一下这个试试看
还有你的问题可以让看延时通断电路,呵呵!
#5
延时通断电路?我没听说过,麻烦说详细点!谢谢!
#6
在循环的e的时候你可以将倒计时设的长一点,比如其他的是5秒的话,e的可以设成10秒?没听明白你的意思,不知是不是符合你的意思!
#7
是我说都的不够明确么?进来的请指教?
#8
我哪没说明白?
#9
timer1来控制b,c,d,e的循环?你的意思是依次轮流让对应的窗体显示指定的时间?
你是怎么确定不同窗体具体的显示时间的?
你如何显示那四个窗体?
另外timer控件本身基于线程,这个地方再用sleep不好吧?
#10
b,c,d,e的显示时间是相同的!
我将A作为父窗体,其余的窗体为其子窗体,
private void timer1_Tick(object sender, EventArgs e)
{
foreach (Form f in this.MdiChildren)
{
if (f.Name == "B")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
C w = new C();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "C")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
D w = new D();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "D")
如此继续下去,在A的pageload中直接打开B,并设置timer1开始
我将A作为父窗体,其余的窗体为其子窗体,
private void timer1_Tick(object sender, EventArgs e)
{
foreach (Form f in this.MdiChildren)
{
if (f.Name == "B")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
C w = new C();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "C")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
D w = new D();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "D")
如此继续下去,在A的pageload中直接打开B,并设置timer1开始
#11
自己顶
#12
上面的代码是循环的 带循环到E的时候我想让E窗体在多停留会,我该怎么做?
#13
你把控制E窗体显示时间长度的变量设得比B、C、D长一点不就行了吗?
#14
#15
不行!要是可以改变那个时间长度 我也就不这么复杂了
我都以为这帖子沉了!结果有起来了
#16
你说time2是倒计时的,是不是用它来控制各窗体的显示时间?如果是的话你把它的代码贴出来看一下吧?
另外你说要循环到一定次次数后才显示E,这个次数是不是10楼的代码中jishu?returnjiange()是干什么的?
我还想知道代码中的if(f.name="E")时的代码!
另外你说要循环到一定次次数后才显示E,这个次数是不是10楼的代码中jishu?returnjiange()是干什么的?
我还想知道代码中的if(f.name="E")时的代码!
#17
timer2只是一个倒计时的 他A中显示倒计时,其余的都是a的子窗体,
循环到一定次次数后才显示E就是jishu达到一定次数,returnjiange()是用来判断jishu是否达到次数,
if(f.name="E")时的代码!中代码基本同上
给你贴出来
else if (f.Name == "E")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
B w = new B();
w.MdiParent = this;
w.Show();
sdr = add.GetSet("where Bz='间隔时间'");
uint jgTime = 0;
if (sdr.Read())
{
jgTime = Convert.ToUInt32(sdr["DjMoney"].ToString());
}
sdr.Close();
sdr = null;
this.timer2.Interval = 1000;//倒计时使用
Remainder = jgTime * 60;//倒计时使用
this.timer2.Enabled = true;//倒计时使用
}
循环到一定次次数后才显示E就是jishu达到一定次数,returnjiange()是用来判断jishu是否达到次数,
if(f.name="E")时的代码!中代码基本同上
给你贴出来
else if (f.Name == "E")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
B w = new B();
w.MdiParent = this;
w.Show();
sdr = add.GetSet("where Bz='间隔时间'");
uint jgTime = 0;
if (sdr.Read())
{
jgTime = Convert.ToUInt32(sdr["DjMoney"].ToString());
}
sdr.Close();
sdr = null;
this.timer2.Interval = 1000;//倒计时使用
Remainder = jgTime * 60;//倒计时使用
this.timer2.Enabled = true;//倒计时使用
}
#18
看来没人累我啊!
#19
帮顶一下
#20
伤心结贴!
#21
#1
自己顶!
#2
我给你提取一下你的需求:
form1中有一个timer1
timer1中有new form2.Show();
form2中有time2倒计时。
timer2中有this.Close();
现在你想延长temer2的interval
对吧???
form1中有一个timer1
timer1中有new form2.Show();
form2中有time2倒计时。
timer2中有this.Close();
现在你想延长temer2的interval
对吧???
#3
不,我在A中利用timer1的timer1_Tick使b,c,d,e循环当循环到e的时候 我想延长e的时间,timer2也是在A中,他的作用是进行倒计时的!
#4
BackgroundWorker组件介绍(属性、方法、事件)
http://blog.csdn.net/yunhaiC/archive/2009/07/08/4331943.aspx
用一下这个试试看
还有你的问题可以让看延时通断电路,呵呵!
http://blog.csdn.net/yunhaiC/archive/2009/07/08/4331943.aspx
用一下这个试试看
还有你的问题可以让看延时通断电路,呵呵!
#5
延时通断电路?我没听说过,麻烦说详细点!谢谢!
#6
在循环的e的时候你可以将倒计时设的长一点,比如其他的是5秒的话,e的可以设成10秒?没听明白你的意思,不知是不是符合你的意思!
#7
是我说都的不够明确么?进来的请指教?
#8
我哪没说明白?
#9
timer1来控制b,c,d,e的循环?你的意思是依次轮流让对应的窗体显示指定的时间?
你是怎么确定不同窗体具体的显示时间的?
你如何显示那四个窗体?
另外timer控件本身基于线程,这个地方再用sleep不好吧?
#10
b,c,d,e的显示时间是相同的!
我将A作为父窗体,其余的窗体为其子窗体,
private void timer1_Tick(object sender, EventArgs e)
{
foreach (Form f in this.MdiChildren)
{
if (f.Name == "B")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
C w = new C();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "C")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
D w = new D();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "D")
如此继续下去,在A的pageload中直接打开B,并设置timer1开始
我将A作为父窗体,其余的窗体为其子窗体,
private void timer1_Tick(object sender, EventArgs e)
{
foreach (Form f in this.MdiChildren)
{
if (f.Name == "B")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
C w = new C();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "C")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
if (jishu == (returnjiange()-1))
{
E w = new E();
w.MdiParent = this;
w.Show();
}
else
{
D w = new D();
w.MdiParent = this;
w.Show();
}
jishu++;
}
else if (f.Name == "D")
如此继续下去,在A的pageload中直接打开B,并设置timer1开始
#11
自己顶
#12
上面的代码是循环的 带循环到E的时候我想让E窗体在多停留会,我该怎么做?
#13
你把控制E窗体显示时间长度的变量设得比B、C、D长一点不就行了吗?
#14
#15
不行!要是可以改变那个时间长度 我也就不这么复杂了
我都以为这帖子沉了!结果有起来了
#16
你说time2是倒计时的,是不是用它来控制各窗体的显示时间?如果是的话你把它的代码贴出来看一下吧?
另外你说要循环到一定次次数后才显示E,这个次数是不是10楼的代码中jishu?returnjiange()是干什么的?
我还想知道代码中的if(f.name="E")时的代码!
另外你说要循环到一定次次数后才显示E,这个次数是不是10楼的代码中jishu?returnjiange()是干什么的?
我还想知道代码中的if(f.name="E")时的代码!
#17
timer2只是一个倒计时的 他A中显示倒计时,其余的都是a的子窗体,
循环到一定次次数后才显示E就是jishu达到一定次数,returnjiange()是用来判断jishu是否达到次数,
if(f.name="E")时的代码!中代码基本同上
给你贴出来
else if (f.Name == "E")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
B w = new B();
w.MdiParent = this;
w.Show();
sdr = add.GetSet("where Bz='间隔时间'");
uint jgTime = 0;
if (sdr.Read())
{
jgTime = Convert.ToUInt32(sdr["DjMoney"].ToString());
}
sdr.Close();
sdr = null;
this.timer2.Interval = 1000;//倒计时使用
Remainder = jgTime * 60;//倒计时使用
this.timer2.Enabled = true;//倒计时使用
}
循环到一定次次数后才显示E就是jishu达到一定次数,returnjiange()是用来判断jishu是否达到次数,
if(f.name="E")时的代码!中代码基本同上
给你贴出来
else if (f.Name == "E")
{
try
{
this.ActiveMdiChild.Close();
}
catch { }
B w = new B();
w.MdiParent = this;
w.Show();
sdr = add.GetSet("where Bz='间隔时间'");
uint jgTime = 0;
if (sdr.Read())
{
jgTime = Convert.ToUInt32(sdr["DjMoney"].ToString());
}
sdr.Close();
sdr = null;
this.timer2.Interval = 1000;//倒计时使用
Remainder = jgTime * 60;//倒计时使用
this.timer2.Enabled = true;//倒计时使用
}
#18
看来没人累我啊!
#19
帮顶一下
#20
伤心结贴!