大家好,求助,帮忙编写倒计时,100分!

loveluo616 2009-04-13 09:29:13
大家好呀,可以帮忙编写倒计时程序吗?具体要求:分秒就可以了,但是在到了指定的时间时需出现声音提醒,已达到提醒功能,可以的话,邦个忙吧,小弟是新手,探索了N久,实在是做不出来了,实在不好意思麻烦大家了,使用C#2005。
...全文
141 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
LGP88864237 2009-04-23
  • 打赏
  • 举报
回复
学习中
sushou2009 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zgke 的回复:]
你自己写写把 这东西不难把..


使用Timer和 TimeSpan很简单的.
private void Form1_Load(object sender, EventArgs e)
{
_Timer.Interval = 1000;
_Timer.Tick += new EventHandler(_Timer_Tick);
_Timer.Enabled = true;
}
private Timer _Timer = new Timer();
private TimeSpan _TimSpan = ne…
[/Quote]
出来大半了~
loveluo616 2009-04-23
  • 打赏
  • 举报
回复
有哪位大哥能帮忙写个完整的呀
修改一下昵称 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wartim 的回复:]
C# codeusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsApplication19
{
public partial class Form1 : Form
{
[DllImport("kernel32.dll")]
private static extern bool Beep(int freq, int dur);

[/Quote]
正解!
zzxap 2009-04-13
  • 打赏
  • 举报
回复
http://download.csdn.net/down/450065/love8872

[code=HTML]

<form name="form1">
<div align="center" align="middle">
<center>离2010年还有:<br>
<input type="textarea" name="left" size="35" style="text-align: center">
</center>
</div>
</form>
<script LANGUAGE="javascript">
startclock()
var timerID = null;
var timerRunning = false;
function showtime() {
Today = new Date();
var NowHour = Today.getHours();
var NowMinute = Today.getMinutes();
var NowMonth = Today.getMonth();
var NowDate = Today.getDate();
var NowYear = Today.getYear();
var NowSecond = Today.getSeconds();
if (NowYear <2000)
NowYear=1900+NowYear;
Today = null;
Hourleft = 23 - NowHour
Minuteleft = 59 - NowMinute
Secondleft = 59 - NowSecond
Yearleft = 2009 - NowYear
Monthleft = 12 - NowMonth - 1
Dateleft = 31 - NowDate
if (Secondleft<0)
{
Secondleft=60+Secondleft;
Minuteleft=Minuteleft-1;
}
if (Minuteleft<0)
{
Minuteleft=60+Minuteleft;
Hourleft=Hourleft-1;
}
if (Hourleft<0)
{
Hourleft=24+Hourleft;
Dateleft=Dateleft-1;
}
if (Dateleft<0)
{
Dateleft=31+Dateleft;
Monthleft=Monthleft-1;
}
if (Monthleft<0)
{
Monthleft=12+Monthleft;
Yearleft=Yearleft-1;
}
Temp=Yearleft+'年, '+Monthleft+'月, '+Dateleft+'天, '+Hourleft+'小时, '+Minuteleft+'分, '+Secondleft+'秒'
document.form1.left.value=Temp;
timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
var timerID = null;
var timerRunning = false;
function stopclock () {
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock () {
stopclock();
showtime();
}
// -->
</script>
[/CODE]
wartim 2009-04-13
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsApplication19
{
public partial class Form1 : Form
{
[DllImport("kernel32.dll")]
private static extern bool Beep(int freq, int dur);

public Form1()
{
InitializeComponent();
label1.Text = "还剩01分10秒";
timer1.Interval = 1000;
timer1.Enabled = true;
}

private void timer1_Tick(object sender, EventArgs e)
{
DateTime DT = DateTime.ParseExact(label1.Text, "还剩mm分ss秒", null);
DT = DT.AddSeconds(-1);
label1.Text = DT.ToString("还剩mm分ss秒");
if (DT.Minute == 0 && DT.Second == 0)
{
timer1.Enabled = false;
Beep(800, 300); // 机箱蜂鸣器发"di"的一声
}
}
}
}
jcyluck 2009-04-13
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;


namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

DateTime start;
Timer ti = new Timer();
private void Form1_Load(object sender, EventArgs e)
{
start = DateTime.Parse("00:00:01");//倒计时开始时间
calculagraph(500);//假设500毫秒跳表一次
}
private void calculagraph(int interval)
{

ti.Interval = interval;
ti.Tick += new EventHandler(ti_Tick);
ti.Start();
}

[DllImport("kernel32.dll")]
public static extern bool Beep(int f, int d);
void ti_Tick(object sender, EventArgs e)
{
Timer ti1 = sender as Timer;
start = start.AddMilliseconds(-ti.Interval);
textBox1.Text = start.ToString("mm:ss:ffff");
if (textBox1.Text =="00:00:0000")
{
ti.Stop();
//MessageBox.Show("时间到");
Beep(800,3000);
}
}
}
}


上面代码你在窗口加上一个TEXTBOX控件就行
另外声音提示的方法有很多种
你可以GOOGLE一下
loveluo616 2009-04-13
  • 打赏
  • 举报
回复
用time我也会呀 就是实现不了呀 我也说不清楚了 还是那位大哥帮帮忙吧 实在是头疼呀 最好是完整的代码呀 感激不尽 还可以再加分!
Roc_Lee 2009-04-13
  • 打赏
  • 举报
回复
用timer。
热学沸腾56 2009-04-13
  • 打赏
  • 举报
回复
timer...lz要是想显示的话,还可以画出来..
路人乙e 2009-04-13
  • 打赏
  • 举报
回复
System.Timers.Timer tmr = new System.Timers.Timer(1000);
tmr.Elapsed += delegate
{
if(DateTime.Now==指定时间) 提示声音
};
tmr.Start();
skycc999 2009-04-13
  • 打赏
  • 举报
回复
楼主参考一下2楼的方法,主要用到的就是Timer。
A海阔天空 2009-04-13
  • 打赏
  • 举报
回复
Timer
mabailin 2009-04-13
  • 打赏
  • 举报
回复
顶,学习下
mawering 2009-04-13
  • 打赏
  • 举报
回复
倒计时用Timer,调用声音用Wrindows Media控件就行,不难写的。
zgke 2009-04-13
  • 打赏
  • 举报
回复
你自己写写把 这东西不难把..


使用Timer和 TimeSpan很简单的.
private void Form1_Load(object sender, EventArgs e)
{
_Timer.Interval = 1000;
_Timer.Tick += new EventHandler(_Timer_Tick);
_Timer.Enabled = true;
}
private Timer _Timer = new Timer();
private TimeSpan _TimSpan = new TimeSpan(1, 0, 0);
void _Timer_Tick(object sender, EventArgs e)
{
this.Text = _TimSpan.ToString();
_TimSpan=_TimSpan.Add(new TimeSpan(0, 0, -1));
if (_TimSpan.TotalSeconds == 0) _Timer.Enabled = false;
}
jacklee_008 2009-04-13
  • 打赏
  • 举报
回复
...

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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