我制作了一个显示时间和日期的网络表单,我想对秒表也这样做,但由于某种原因,秒表不能工作。
当我单击“开始”时,时间应该开始滴答作响;当我单击“停止”时,时间应该停止;当我单击“重置”时,时间应该清除。相反,当我单击“开始”时,什么也没有发生。
这是我的代码(C#):
{
public partial class WebForm1 : System.Web.UI.Page
{
private short _secs, _ms;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Timer1_Tick(object sender, EventArgs e)
{
Timerz.Text = DateTime.Now.ToString();
}
protected void Timer2_Tick(object sender, EventArgs e)
{
IncreaseMS();
ShowTime();
}
private void IncreaseMS()
{
if (_ms == 99)
{
_ms = 0;
IncreaseSecs();
}
else
{
_ms++;
}
}
private void IncreaseSecs()
{
if (_secs == 59)
{
_secs = 0;
}
else
{
_secs++;
}
}
protected void start_Click(object sender, EventArgs e)
{
start.Enabled = false;
Timer2.Enabled = true;
}
protected void reset_Click(object sender, EventArgs e)
{
_secs = 0;
_ms = 0;
ShowTime();
}
private void ShowTime()
{
secsText.Text = _secs.ToString("00");
msText.Text = _ms.ToString("00");
}
protected void stop_Click(object sender, EventArgs e)
{
start.Enabled = true;
Timer2.Enabled = false;
}
}
}
网络表单,ASP。网络代码:
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
Current time:
<asp:Label ID="Timerz" runat="server"></asp:Label>
</div>
<asp:Timer ID="Timer1" runat="server" Interval="1000"
OnTick="Timer1_Tick">
</asp:Timer>
<div>
<asp:Label ID="secsText" runat="server" Text="00"></asp:Label><asp:Label
ID="colon" runat="server" Text=":"></asp:Label><asp:Label ID="msText"
runat="server" Text="00"></asp:Label>
<br />
<asp:Button ID="start" runat="server" Text="Start" OnClick="start_Click"
/><asp:Button ID="stop" runat="server" Text="Stop" OnClick="stop_Click" />
<asp:Button ID="reset" runat="server" Text="Reset" OnClick="reset_Click" />
</div>
<asp:Timer ID="Timer2" runat="server" OnTick="Timer2_Tick">
</asp:Timer>
</form>
</body>