這是我第一次嘗試以任何語言學習課程。我正在嘗試創建一個停止監視的Windows窗體項目。我創建了一個具有啓動秒錶的StartClock方法的類,然後將經過的時間放入一個時間跨度變量中。然後我使用一個elapsedTime字符串,並將其設置爲等於具有時間跨度變量的格式化字符串。代碼如下。將值從一個地方傳遞到另一個地方
public class CStopWatch
{
Stopwatch sw = new Stopwatch();
private DateTime startTime;
private DateTime stopTime;
private String elapsedTime;
public String ElapsedTime
{
get
{
return elapsedTime;
}
}
public String StartClock()
{
sw.Start();
TimeSpan ts = sw.Elapsed;
elapsedTime = String.Format("{0:00}:{1:00}:{2:00}",
ts.Hours, ts.Minutes, ts.Seconds/10);
return elapsedTime;
}
public void StopClock()
{
// sw.Stop();
}
}
在Windows窗體我打電話給我的CStopwatch類的新實例,然後啓動按鈕點擊事件,我開始我的形式計時器,叫我StartClock方法,然後我的時間間隔設置爲每一秒。
在我的計時器滴答事件中,我設置我的標籤以顯示經過時間字符串變量。當我運行這個時,我不會有任何錯誤,但標籤不會改變。以下是我的Windows窗體代碼。
public partial class Form1 : Form
{
// string elapsedTime;
// public string elapsedTime { get { return elapsedTime; } }
CStopWatch sw = new CStopWatch();
public Form1()
{
InitializeComponent();
}
private void lblTime_Click(object sender, EventArgs e)
{
}
private void btnStart_Click(object sender, EventArgs e)
{
timer.Enabled = true;
sw.StartClock();
timer.Interval = 1000;
//Testing without using classes
/*
timer.Enabled = true;
sw.Start();
timer.Interval = 1000;
TimeSpan ts = sw.Elapsed;
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}",
ts.Hours, ts.Minutes, ts.Seconds/10);
*/
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void timer_Tick(object sender, EventArgs e)
{
lblTime.Text = sw.ElapsedTime;
}
}
我敢肯定,我失去了一些東西或做一些愚蠢的事,但我所有的谷歌賦還沒有導致我的答案。提前致謝。
當你說標籤沒有改變,它有沒有值?還是它有一個初始值,但價值沒有得到更新? –
我將標籤的文本屬性設置爲00:00:00 –