当前位置:编程学习 > C#/ASP.NET >>

一个记录程序运行时间表的控件

答案:using System;
using System.Collections;
using System.Data;

namespace MyTools
{
    /// <summary>
    /// Summary description for TimeTest.
    /// </summary>
    public class TimeTest
    {    
        private DataTable manager = new DataTable("manager");
        private DataTable timeList = new DataTable("timeList");
        
        public TimeTest()
        {
            #region initialize the ManagerTable to save the test cases
            DataColumn  tempColumn = new DataColumn("name",typeof(System.String));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("description",typeof(System.String));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("totalTime",typeof(System.TimeSpan));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("startTime",typeof(System.DateTime));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("testCount",typeof(System.Int32));
            manager.Columns.Add(tempColumn);
            manager.PrimaryKey =  new DataColumn[]{manager.Columns["name"]};
            #endregion

            #region initialize the TimeListTable to save the list of time span
            tempColumn = new DataColumn("name",typeof(System.String));
            timeList.Columns.Add(tempColumn);
            tempColumn = new DataColumn("time",typeof(System.TimeSpan));
            timeList.Columns.Add(tempColumn);
            tempColumn = new DataColumn("description",typeof(System.String));
            timeList.Columns.Add(tempColumn);
            #endregion

            #region initialize a test case
            this.AddProcess("__mainTest__","The default test is created by system!");
            #endregion
        }

        public TimeTest(string testName,string description)
        {
            #region initialize the ManagerTable to save the test cases
            DataColumn  tempColumn = new DataColumn("name",typeof(System.String));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("description",typeof(System.String));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("totalTime",typeof(System.TimeSpan));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("startTime",typeof(System.DateTime));
            manager.Columns.Add(tempColumn);
            tempColumn = new DataColumn("testCount",typeof(System.Int32));
            manager.Columns.Add(tempColumn);
            manager.PrimaryKey =  new DataColumn[]{manager.Columns["name"]};
            #endregion

            #region initialize the TimeListTable to save the list of time span
            tempColumn = new DataColumn("name",typeof(System.String));
            timeList.Columns.Add(tempColumn);
            tempColumn = new DataColumn("time",typeof(System.TimeSpan));
            timeList.Columns.Add(tempColumn);
            tempColumn = new DataColumn("description",typeof(System.String));
            timeList.Columns.Add(tempColumn);
            #endregion

            #region initialize a test case
            this.AddProcess(testName,description);
            #endregion
        }


        private void AddProcess(string testName,string description)
        {
            DataRow tempRow = this.manager.NewRow();
            tempRow["name"] = testName;
            tempRow["description"] = description;
            tempRow["startTime"] = DateTime.Now;
            tempRow["totalTime"] = TimeSpan.Zero;
            tempRow["testCount"] = 0;
            this.manager.Rows.Add(tempRow);
        }


        #region Begin a test
        public void BeginTest(string testName,string description)
        {
            DataRow tempRow = this.manager.Rows.Find(testName);
            if(null != tempRow)
            {
                tempRow["startTime"] = DateTime.Now;
            }
            else
            {
                this.AddProcess(testName,description);
            }
        }

        public void BeginTest(string testName)
  

上一个:改变 PropertyGrid 控件的编辑风格(1)——加入日期控件
下一个:activebar控件

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,