如何将属性添加到计时器控件中,以仅显示小时分钟秒而不显示毫秒
本文关键字:显示 小时 分钟 属性 添加 控件 计时器 | 更新日期: 2023-09-27 17:56:05
在控件设计器中,我有label1。在设计器中,标签文本设置为:"00:00:00:000"
然后代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
namespace WinFormsUI
{
public partial class TimerControl : UserControl
{
Stopwatch sw = new Stopwatch();
public TimerControl()
{
InitializeComponent();
//Start();
}
public void Start()
{
timer1.Start();
sw.Start();
}
public void Stop()
{
timer1.Stop();
}
public void Reset()
{
sw.Reset();
label1.Text = "00:00:00:000";
}
public void NoMsSecMin()
{
}
private void TimerControl_Load(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
TimeSpan elapsed = sw.Elapsed;
label1.Text = string.Format("{0:00}:{1:00}:{2:00}:{3:00}",
Math.Floor(elapsed.TotalHours),elapsed.Minutes,elapsed.Seconds,
elapsed.Milliseconds);
}
}
}
我现在添加了方法 NoMsSecMin也许有更好的方法,我想添加一个属性,例如开始停止重置,我可以轻松设置是否显示毫秒或秒或分钟。
我怎样才能做到这一点,以便我能够使用此方法选择不显示或显示的内容?
你需要这样的函数吗?
ShowWhatIWant(true, false, false);
private string ShowWhatIWant(bool showMinutes, bool showSeconds, bool showMiliSeconds)
{
string text = string.Format("{0:00}", Math.Floor(elapsed.TotalHours));
if(showMinutes)
{
text += string.Format(":{0:00}", elapsed.Minutes);
}
if(showSeconds)
{
text += string.Format(":{0:00}", elapsed.Seconds);
}
if(showMiliSeconds)
{
text += string.Format(":{0:00}", elapsed.Milliseconds);
}
return text;
}