c# winform中 写个时间计数器,记录从程式启动到结束的时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform中 写个时间计数器,记录从程式启动到结束的时间相关的知识,希望对你有一定的参考价值。

  第一种方法利用System.DateTime.Now
  [csharp] view plaincopy
  static void SubTest()
  
  DateTime beforDT = System.DateTime.Now;
  //耗时巨大的代码
  DateTime afterDT = System.DateTime.Now;
  TimeSpan ts = afterDT.Subtract(beforDT);
  Console.WriteLine("DateTime总共花费0ms.", ts.TotalMilliseconds);
  

  第二种用Stopwatch类(System.Diagnostics)
  [csharp] view plaincopy
  static void SubTest()
  
  Stopwatch sw = new Stopwatch();
  sw.Start();
  //耗时巨大的代码
  sw.Stop();
  TimeSpan ts2 = sw.Elapsed;
  Console.WriteLine("Stopwatch总共花费0ms.", ts2.TotalMilliseconds);
  

  第三种用API实现:
  [csharp] view plaincopy
  [System.Runtime.InteropServices.DllImport("Kernel32.dll")]
  static extern bool QueryPerformanceCounter(ref long count);
  [System.Runtime.InteropServices.DllImport("Kernel32.dll")]
  static extern bool QueryPerformanceFrequency(ref long count);
  static void SubTest()
  
  long count = 0;
  long count1 = 0;
  long freq = 0;
  double result = 0;
  QueryPerformanceFrequency(ref freq);
  QueryPerformanceCounter(ref count);
  //耗时巨大的代码
  QueryPerformanceCounter(ref count1);
  count = count1 - count;
  result = (double)(count) / (double)freq;
  Console.WriteLine("QueryPerformanceCounter耗时: 0 秒", result);
  
参考技术A 1、创建窗体
2、窗体上放置TImer控件
3、编写Timer控件,计时过程
4、打开程序,开启Timer,开始计时
5、程序退出的时候,判断CLOSE,弹出程序运行时间
参考技术B 构造函数里取得一下当前时间 startTime
onclose事件里获取一下当前时间 closeTime
closeTime-startTime就是运行时间
参考技术C 如果要时时显示时间,可以用1楼的办法,如果只是记录程序运行时间2楼的办法好。

C#把winform中的Panel控件部分全屏

我只想要把窗体中的部分内容全屏,比如把一个表单全屏,我想把表单放在Panel中,当然也可以用其它方法。现在完全没思路,想拿分的带上你的代码。
我有个想法,直接写个窗体,里面用整个Panel覆盖,然后全屏就行了

没太懂,是不是一个窗体中有表单也有别的控件,然后有个事件能把表单给全屏,占满整个窗体啊?

你可以在窗体里放个panel,然后所有控件放panel里,等想把表单全屏的时候,把panel的size读出来,配给表单,然后让表单处于最上层,把其他控件盖住。
参考技术A 设计方式不是你的出发点,你应该考虑怎么实现你想要的效果。

1.“你想把窗体的部分内容全屏”
我想这里应该是将部分内容,完全填充某容器吧。
Panel是个容器,你可以用Panel将一个完整的界面分成几个部分,工具栏,查询内容展示,查询结果展示等。用三个Panel。
然后在将相应的控件放到Panel中。

2.如何完全填充?
VS中有很方便的设置,比如你说的表单,在控件属性中将DOCK设置为Fill即可。
“一般VS显示的是图形位置让你选择,选择中间的那个。”

以上是关于c# winform中 写个时间计数器,记录从程式启动到结束的时间的主要内容,如果未能解决你的问题,请参考以下文章

c#的winform,怎么根据控件的名字获取控件属性!

如何在 Asp.net MVC C# 中使用 Linq 从多个表中选择具有最大计数值的记录

如何改变winform(c#)标题栏的颜色

使用 PostgreSql 和 ADO.NET 在 C# WinForms 中锁定记录和表

C#把winform中的Panel控件部分全屏

c# winform 如何记录日志