gpt4 book ai didi

c# - 将值从一个地方传递到另一个地方

转载 作者:行者123 更新时间:2023-11-30 14:50:34 25 4
gpt4 key购买 nike

这是我第一次尝试学习任何语言的类(class)。我正在尝试创建一个作为秒表的 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;


}
}

我确定我遗漏了某些东西或做了一些愚蠢的事情,但我所有的 google fu 还没有引导我找到答案。提前致谢。

最佳答案

您只需在单击“开始”按钮后为变量 elapsedTime 赋值一次。稍后您尝试在 timer_Tick 方法中从中读取值(使用 ElapsedTime 属性),但是您没有分配新值。尝试这样的事情:

public String ElapsedTime
{
get
{
TimeSpan ts = sw.Elapsed;
return String.Format("{0:00}:{1:00}:{2:00}",
ts.Hours, ts.Minutes, ts.Seconds / 10);
}
}

关于c# - 将值从一个地方传递到另一个地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36239147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com