更改主UI界面
This commit is contained in:
@@ -11,7 +11,7 @@ using System.Windows.Threading;
|
||||
namespace CapMachine.Wpf.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// 程序运行时间统计
|
||||
/// 整个程序运行时间统计
|
||||
/// </summary>
|
||||
public class ProRunTimeCalc : BindableBase
|
||||
{
|
||||
@@ -19,6 +19,12 @@ namespace CapMachine.Wpf.Models
|
||||
{
|
||||
//秒触发一次
|
||||
CycleTimer = new System.Timers.Timer(1000);
|
||||
//CycleTimer = new DispatcherTimer
|
||||
//{
|
||||
// Interval = TimeSpan.FromSeconds(1)
|
||||
//};
|
||||
//CycleTimer.Tick += (s, e) => CalcTime();
|
||||
|
||||
CycleTimer.Elapsed += ProRunCycleAction;
|
||||
CycleTimer.AutoReset = true;
|
||||
CycleTimer.Enabled = true;
|
||||
@@ -27,6 +33,7 @@ namespace CapMachine.Wpf.Models
|
||||
|
||||
/// <summary>
|
||||
/// 程序运行时间周期统计
|
||||
/// 弃用
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
@@ -49,8 +56,13 @@ namespace CapMachine.Wpf.Models
|
||||
private void CalcTime()
|
||||
{
|
||||
ProEndDt = DateTime.Now;
|
||||
|
||||
ProRunTimeStr = ConvertSecToDHMS((int)Math.Round((ProEndDt - ProStartDt).TotalSeconds - PauseTotalSecTime));
|
||||
var CurTime = (ProEndDt - ProStartDt).TotalSeconds - PauseTotalSecTime; //计算总时间,单位秒
|
||||
if (TotalProSec != 0)
|
||||
{
|
||||
ProValue = CurTime * 100 / TotalProSec;
|
||||
}
|
||||
ProRunTimeStr = ConvertSecToDHMS((int)Math.Round(CurTime));
|
||||
|
||||
}
|
||||
|
||||
private string ConvertSecToDHMS(int totalSeconds)
|
||||
@@ -81,6 +93,9 @@ namespace CapMachine.Wpf.Models
|
||||
CycleTimer.Start();
|
||||
//暂停时间清零,可能是多次开始执行程序,导致PauseTotalSecTime残留到下一个程序计时中
|
||||
PauseTotalSecTime = 0;
|
||||
|
||||
//结束时间信息
|
||||
EndTimeInfo = ProStartDt.AddSeconds(PauseTotalSecTime).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -88,15 +103,28 @@ namespace CapMachine.Wpf.Models
|
||||
/// </summary>
|
||||
public void PauseProRunTime()
|
||||
{
|
||||
//开始暂停的计时
|
||||
PauseStartDt = DateTime.Now;
|
||||
|
||||
CycleTimer.Stop();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 继续计时
|
||||
/// 返回暂停时间
|
||||
/// </summary>
|
||||
public void ContinueProRunTime()
|
||||
public double ContinueProRunTime()
|
||||
{
|
||||
PauseEndDt = DateTime.Now;
|
||||
|
||||
//统计的暂停的时间
|
||||
var PauseTime = (PauseEndDt - PauseStartDt).TotalSeconds;
|
||||
PauseTotalSecTime = PauseTotalSecTime + (int)Math.Round(PauseTime);
|
||||
EndTimeInfo = ProStartDt.AddSeconds(PauseTotalSecTime).ToString("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
CycleTimer.Start();
|
||||
|
||||
return PauseTime;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -126,6 +154,22 @@ namespace CapMachine.Wpf.Models
|
||||
/// </summary>
|
||||
public DateTime ProEndDt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 整个程序步骤的时间长度
|
||||
/// </summary>
|
||||
public long TotalProSec { get; set; }
|
||||
|
||||
|
||||
private double _ProValue;
|
||||
/// <summary>
|
||||
/// 进度数据
|
||||
/// </summary>
|
||||
public double ProValue
|
||||
{
|
||||
get { return _ProValue; }
|
||||
set { _ProValue = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
|
||||
private string? _ProRunTimeStr;
|
||||
/// <summary>
|
||||
@@ -137,6 +181,17 @@ namespace CapMachine.Wpf.Models
|
||||
set { _ProRunTimeStr = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
private string _EndTimeInfo;
|
||||
/// <summary>
|
||||
/// 结束时间字符串
|
||||
/// </summary>
|
||||
public string EndTimeInfo
|
||||
{
|
||||
get { return _EndTimeInfo; }
|
||||
set { _EndTimeInfo = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 全部的暂停的时间
|
||||
/// 可能暂停多次
|
||||
@@ -144,5 +199,21 @@ namespace CapMachine.Wpf.Models
|
||||
public int PauseTotalSecTime { get; set; }
|
||||
|
||||
|
||||
#region 暂停操作
|
||||
|
||||
/// <summary>
|
||||
/// 暂停开始时间
|
||||
/// </summary>
|
||||
public DateTime PauseStartDt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 暂停结束时间
|
||||
/// </summary>
|
||||
public DateTime PauseEndDt { get; set; }
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user