马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

关于C#的Timer空间制作倒计时的问题

  [复制链接]
查看10074 | 回复8 | 2015-8-9 21:24:03 | 显示全部楼层 |阅读模式
如题,比如说我载入一个窗体,点击一个按钮,或者在载入窗体的时候就自动启动这个Timer的控件

然后在规定时间内销毁此窗体

假设:
在打开窗体之后,label提示“软件打开后在75秒内未登入,将自动关闭。。。”

现在问题来了 - -
75秒,需要利用Timer实现倒计时的功能,并且75随时间而变化,知道变成1秒的时候,窗口销毁。。。


不知道思路理清楚没有,求大神解答!!!
ibcadmin | 2015-8-9 21:30:19 | 显示全部楼层
首先拉一个Timer 控件,然后设置属性 Enabled=true  ,Interval =1000  然后在窗体加载事件里 写 timer1.Start();  然后声明公共变量 int i = 75 , 然后在timer的事件中写代码
完整代码如下:
[C#] 纯文本查看 复制代码
  private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
        }
        int i =75;
        private void timer1_Tick(object sender, EventArgs e)
        {
            i--;
            if (i == 0)
            {
                Application.Exit();
            }
        }


C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
dasu | 2015-8-9 21:48:11 | 显示全部楼层
ibcadmin 发表于 2015-8-9 21:30
首先拉一个Timer 控件,然后设置属性 Enabled=true  ,Interval =1000  然后在窗体加载事件里 写 timer1.Sta ...

再请问下,,,如果我需要这个75秒倒计时的时间可视在窗口上,加个label的标签,这个需要怎么写?
dasu | 2015-8-9 21:53:30 | 显示全部楼层
ibcadmin 发表于 2015-8-9 21:30
首先拉一个Timer 控件,然后设置属性 Enabled=true  ,Interval =1000  然后在窗体加载事件里 写 timer1.Sta ...

我照着在Timer的属性上吧Interval改成1000,打开窗口后就照着1秒关闭了,需要我手动设置成75000 - - 才在75秒后关闭
ibcadmin | 2015-8-9 22:18:40 | 显示全部楼层
dasu 发表于 2015-8-9 13:53
我照着在Timer的属性上吧Interval改成1000,打开窗口后就照着1秒关闭了,需要我手动设置成75000 - - 才在 ...

不行 那个就要设置1000  1000 代表一秒执行一次,
如果要在界面上显示倒计时的话 就拉个label  然后在timer的事件里 给lable赋值  赋的值就是i.toString();
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
dasu | 2015-8-9 22:48:23 | 显示全部楼层
ibcadmin 发表于 2015-8-9 22:18
不行 那个就要设置1000  1000 代表一秒执行一次,
如果要在界面上显示倒计时的话 就拉个label  然后在ti ...

C:\Users\Administrator\Desktop\S9AOJBUA04T0)3IFK_2%5DD_U.jpg
不知道这样错了没有,我点击运行的时候一秒时间就直接销毁了
dasu | 2015-8-9 22:49:13 | 显示全部楼层
[C#] 纯文本查看 复制代码
    private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
            
        }
        int i = 60;
        private void timer1_Tick(object sender, EventArgs e)
        {
            i--;
            label2.Text = i.ToString();
            if (i == 0) ;
            {
                Application.Exit();
            }
        }
dasu | 2015-8-9 22:53:00 | 显示全部楼层
ibcadmin 发表于 2015-8-9 22:18
不行 那个就要设置1000  1000 代表一秒执行一次,
如果要在界面上显示倒计时的话 就拉个label  然后在ti ...

好吧!刚刚我把两张代码截图对比了一下,发现是我在if() 这个判断语句这边多了个分号,所以会这样子,已经解决了。十分感谢!
ibcadmin | 2015-8-10 09:21:13 | 显示全部楼层
dasu 发表于 2015-8-9 14:53
好吧!刚刚我把两张代码截图对比了一下,发现是我在if() 这个判断语句这边多了个分号,所以会这样子,已 ...

OK.以后问题要发在求助板块。
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则