求C#正计时代码(分不够再加)

woaini826 2009-06-03 10:18:22
我想做一个wiform正计时,就是当程序运行后就开始计时,从00:00:00开始计时,每一秒加一。最好还可以暂停,当点击暂停的时候就停止计时,恢复的时候就继续计时。希望大家帮我想想,也可以说说做的思路。感激不尽。
...全文
98 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yagebu1983 2009-06-03
  • 打赏
  • 举报
回复
自己可以开发的控件。。。
woaini826 2009-06-03
  • 打赏
  • 举报
回复
看了下。他的复杂点,但功能强大点,你的简单易懂,功能也实现了。但是停止后,在开始不是从0开始的。而是从上次停止的时间开始的。最好对于只有1位的前面补0.不过还是感谢你,帖子我会另外加分的。
wjn161 2009-06-03
  • 打赏
  • 举报
回复
傻瓜式的实现方法~
button1为开始,button2为暂停, button3为停止~

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public int s=0;
public int m = 0;
public int h = 0;

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = true;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
s++;
this.label1.Text = h.ToString()+":"+m.ToString()+":"+s.ToString();
if (s==60)
{
m += 1;
s = 0;
}
if (m==60)
{
h += 1;
m = 0;
}
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = false;

}

private void button2_Click(object sender, EventArgs e)
{
timer1.Stop();
}

private void button3_Click(object sender, EventArgs e)
{
timer1.Stop();
timer1.Enabled = false;
label1.Text = "0:0:0";
}

}
}

woaini826 2009-06-03
  • 打赏
  • 举报
回复
太谢谢你了。每次都得到你的帮助。真是感激不尽。这分数全部给你了。
wuyq11 2009-06-03
  • 打赏
  • 举报
回复
基于 Windows 的标准计时器(System.Windows.Forms.Timer)
基于服务器的计时器(System.Timers.Timer)
线程计时器(System.Threading.Timer)

private int t = 0;
void MainFormLoad(object sender, System.EventArgs e)
{
this.timer1.Enabled = false;
this.timer1.Interval = 1;
}

public string GetAllTime(int time)
{
string hh, mm, ss, fff;
int f = time%100;
int s = time/100;
int m = s/60;
int h = m/60;
s = s%60;
if(f<10)
{
fff = "0" + f.ToString();
}
else
{
fff = f.ToString();
}
if(s<10)
{
ss = "0" + s.ToString();
}
else
{
ss = s.ToString();
}
if(m<10)
{
mm = "0" + m.ToString();
}
else
{
mm = m.ToString();
}
if(h<10)
{
hh = "0" + h.ToString();
}
else
{
hh = h.ToString();
}
return hh + ":" + mm + ":" + ss + "." + fff;
}
void BtnOKClick(object sender, System.EventArgs e)
{
if(timer1.Enabled == false)
{
this.btnOK.Text = "停止计时";
this.timer1.Enabled = true;
}
else
{
this.btnOK.Text = "开始计时";
this.timer1.Enabled = false;
}
}
void Timer1Tick(object sender, System.EventArgs e)
{
t = t + 1;
this.label1.Text = GetAllTime(t);
}
void BtnClearClick(object sender, System.EventArgs e)
{
t = 0;
if(this.timer1.Enabled == true)
{
this.BtnOKClick(sender,e);
label1.Text = GetAllTime(t);
}
else
{
label1.Text = GetAllTime(t);
}
}
参考
眼保程序EyesBaby1.0源码 1.EyesBaby是一款具备定时提醒、Windows前景调节等功能的小应用程序。 2.源码使用VS2008开发,基于.NET Framework2.0。 3.源码中多处已用注释描述。 EyesBaby功能: 窗口拖拽与缩放功能 图片控件上添加字符 Windows前景色调节器 软件更新 窗口渐现效果 1.选择眼保方法 a.设定某一种提醒眼保方法后,定时提醒功能会根据指定方法即时显示。 b.6种眼保方法 眼珠运动法 头向上下左右旋转时,眼珠也跟着一起移动。 眨眼法 头向后仰并不停的眨眼,使血液畅通。眼睛轻微疲劳时,只要做2~3次眨眼运动即可。 热冷敷交替法 一条毛巾浸比洗澡水还要热一点的热水,另一条毛巾浸加了冰块的冷水,先把热毛巾放在眼睛上约五钟,然后再放冷毛巾五钟。 眼睛体操 中指指向眼窝和鼻梁间,手掌盖脸来回摩擦五钟。然后脖子各项左右慢慢移动,接着闭上双眼,握拳轻敲后颈部十下。 看远看近法 看远方三钟,再看手掌1~2钟,然后再看远方。这样远近交换几次,可以有效消除眼睛疲劳。 黑屏 黑屏能对保护眼睛更有益。 2.定时提醒功能 a.时长设定 设定提醒间隔时长.图中设置每隔30钟提醒1钟时间. b.是否强制模式 是强制模式,显示提示方法时将以全屏方式呈现。如果不是强制模式,将以自动调节方式,同时还可以拖拽提醒窗口,滑动滚动轴可以调整窗口大小。 c.倒计时显示及任务栏通知 倒计时显示功能可查看当前距休息/工作的时长,以秒为单位。任务栏通知功能将在倒计时休息十秒前通知用户。 d.手动显示/隐藏 可以自由调整显示或隐藏提醒窗口。双击任务栏托盘图标可以手动启用显示/隐藏 3.Windows前景调节器功能 a.启动Windows前景调节功能,可自定义设置屏幕颜色(推荐使用浅淡颜色)。 b.设置屏幕颜色 4.自动更新功能 启动眼保程序后,系统会自动检查是否有新版本。发现新版本后会自动下载并更新软件。

62,248

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧