using System;
using System.Collections;
using System.Windows.Forms;
namespace OTSMeasureApp
{
public partial class MeasureCheckResultInfoWindow : Form
{
public string endTime = "";
//国际化
OTSCommon.Language lan;
Hashtable table;
public MeasureCheckResultInfoWindow()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
//国际化
lan = new OTSCommon.Language(this);
table = lan.GetNameTable(this.Name);
}
///
/// 测量状态
///
///
///
///
public void SetMeasureStateInfo(string MeasureState,int completeSampleCount, int completeFieldCount, int particleCount, string beginTime, TimeSpan MsrUsedTime, string endTime,ref string measureTimes)
{
//设置测量状态
lblMeasureState.Text = MeasureState;
//设置开始时间
lblBeginTime.Text = beginTime.ToString();
//设置结束时间
lblEndTime.Text = endTime.ToString();
//测量数
lblMeasureCount.Text = completeSampleCount.ToString();
//设置当前帧图数
lblSingleCount.Text = completeFieldCount.ToString();
//设置颗粒数量
lblParticleCount.Text = particleCount.ToString();
//开始与截至时间 相差时间
//TimeSpan tsSub = MsrUsedTime;
TimeSpan tsSub = TimeSpans(Convert.ToDateTime(beginTime), Convert.ToDateTime(endTime)); //为差值显示例准确,于此计算但数值不一定为真实值并且与domeasure中差值会出现不一致
//设置测量时间
string measureTime = string.Empty;
if (tsSub.Days > 0)
{
string str= table["str1"].ToString();
measureTime += tsSub.Days + str;
}
if (tsSub.Hours > 0)
{
string str = table["str2"].ToString();
measureTime += tsSub.Hours + str;
}
if (tsSub.Minutes > 0)
{
string str = table["str3"].ToString();
measureTime += tsSub.Minutes + str;
}
if (tsSub.Seconds > 0)
{
string str = table["str4"].ToString();
measureTime += tsSub.Seconds + str;
}
measureTimes = measureTime;
//默认值
if (measureTime.Equals(""))
{
string str = table["str5"].ToString();
lblMeasureTime.Text = str;
}
else
{
lblMeasureTime.Text = measureTime;
}
}
public TimeSpan TimeSpans(DateTime beginTime ,DateTime endTime)
{
//c#对时间差,有一个专门的类进行封装,TimeSpan.cs;
System.DateTime pauseT = beginTime;
System.DateTime resumeT = endTime;
System.TimeSpan ts1 = new System.TimeSpan(pauseT.Ticks);
System.TimeSpan ts2 = new System.TimeSpan(resumeT.Ticks);
System.TimeSpan tsSub = ts1.Subtract(ts2).Duration();
return tsSub;
}
private void MeasureCheckReportInfoWindow_FormClosing(object sender, FormClosingEventArgs e)
{
this.Close();
}
public void SetEndTime(string endTime)
{
lblEndTime.Text = endTime;
}
private void MeasureCheckReportInfoWindow_Load(object sender, EventArgs e)
{
}
}
}