#来自学渣的问候~~
我在给北斗杯竞赛写的上位机软件里用到了很多的函数,非常的便捷,时间显示函数就是最简单的一个之一。
实时时间显示在大部分软件里都是一个很重要的部分,毕竟咱不能不看时间对吧。这里有两种显示方法,一个是使用TextBox
来做显示,一个是用Label
来做显示,函数如下:
Text Box版
public void getCurrentTime()
{
DateTime now = DateTime.Now; //获取时间
textBox11.Text = now.Year.ToString(); //年
textBox12.Text = now.Month.ToString(); //月
textBox13.Text = now.Day.ToString(); //日
string hour = now.Hour.ToString(); //小时 要加先导0
if(hour.Length == 1)
{
hour = "0" + hour;
}
textBox14.Text = hour;
string minute = now.Minute.ToString(); //分钟 要加先导0
if(minute.Length == 1)
{
minute = "0" + minute;
}
textBox15.Text = minute;
string second = now.Second.ToString(); //秒,要加先导0
if(second.Length == 1)
{
second = "0" + second;
}
textBox16.Text = second;
}
里头的 TextBoxXX 就是自己添加的TextBox的名称,这个改成自己软件里配置的name 就可以了,整个函数可以直接拿来用。
窗体应用程序界面长这个样子:
这里要注意把TextBox模块去使能,这样就不会因为界面操作误改这个时间值。
Label版
public string getCurrentTime() //获取当前时间,写成函数形式,以便于代码复用
{
DateTime now = DateTime.Now;
label17.Text = now.Year.ToString();
label17.Text += "/";
label17.Text += now.Month.ToString();
label17.Text += "/";
label17.Text += now.Day.ToString();
label17.Text += " ";
string hour = now.Hour.ToString();
if (hour.Length == 1)
{
hour = "0" + hour;
}
label17.Text += hour;
label17.Text += ":";
string minute = now.Minute.ToString();
if (minute.Length == 1)
{
minute = "0" + minute;
}
label17.Text += minute;
label17.Text += ":";
string second = now.Second.ToString();
if (second.Length == 1)
{
second = "0" + second;
}
label17.Text += second;
return label17.Text;
}
这个代码写出来的界面形式是这样的:
用Label做的话,看起来就非常的简洁,也不占位置。不过用TextBox写呢,看起来就非常的好看,还可以加各种装饰,美观性更强一些。
这是一条并没有什么用的分割线
写实时时钟模块,有一个地方得注意,就是一定要把这个函数放到一个定时器里,每一秒更新一次,不然的话,显示的时间会一直停留在打开上位机的那一刻。
加一个定时器,直接把函数放进去就好。然后在设计界面上,属性一栏修改timer的Enabled 和 Interval。
代码如下:
private void timer1_Tick(object sender, EventArgs e)
{
getCurrentTime();
}
属性修改: