簡體   English   中英

Webforms中的秒表怎么了? ASP.NET C#

[英]What's wrong with my Stopwatch in Webforms? ASP.NET C#

我制作了一個顯示時間和日期的Webform,並且我想對秒表執行相同的操作,但是由於某種原因,秒表無法正常工作。

單擊“開始”時該時間應該開始計時,單擊“停止”時該時間應該停止,單擊“重置”時該時間應該清除。 相反,當我單擊開始時,什么也沒有發生。

這是我的代碼(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;
    }
}
}

Webform,ASP.NET代碼:

<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>

您尚未在Timer2上設置Interval屬性。 默認間隔為60秒,您可能沒有等待那么長時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM