chenxy 6 rokov pred
rodič
commit
a0e6e288a6

+ 290 - 271
DK.Client/PCModule/F_PC_0203.cs

@@ -141,298 +141,308 @@ namespace Dongke.IBOSS.PRD.Client.PCModule
         /// <param name="e"></param>
         private void F_PC_0203_Load(object sender, System.EventArgs e)
         {
-            this.txtLineCode.Focus();
-            // 查询数据
-            this.ProductionDataSet = PCModuleProxy.Service.GetProductionLineDetail(this._lineID);
-
-            // tableName 要与 Dongke.IBOSS.PRD.Service.ConfigModuleLogic.ConfigModuleLogic的GetProductionLineDetail方法定义的名称对应
-            // 加载生产线信息
-            DataTable lineTable = this.ProductionDataSet.Tables["lineTable"];
-            // 画图
-            if (lineTable != null && lineTable.Rows.Count > 0)
+            try
             {
-                this.flowBox.LoadFlow((byte[])(lineTable.Rows[0]["FlowXML"]));
-                this.OPTimeStamp = Convert.ToDateTime(lineTable.Rows[0]["OPTimeStamp"]);
-            }
-            //加载画布大小给文本框
-            this.txtFlowWidth.Text = this.flowBox.CanvasSize.Width.ToString();
-            this.txtFlowHeigth.Text = this.flowBox.CanvasSize.Height.ToString();
+                this.txtLineCode.Focus();
+                // 查询数据
+                this.ProductionDataSet = PCModuleProxy.Service.GetProductionLineDetail(this._lineID);
 
-            // 加载工序信息
-            DataTable procedureTable = this.ProductionDataSet.Tables["procedureTable"];
-            _ValueFlagRow = procedureTable.Select("ValueFlag=0").Length;
+                // tableName 要与 Dongke.IBOSS.PRD.Service.ConfigModuleLogic.ConfigModuleLogic的GetProductionLineDetail方法定义的名称对应
+                // 加载生产线信息
+                DataTable lineTable = this.ProductionDataSet.Tables["lineTable"];
+                // 画图
+                if (lineTable != null && lineTable.Rows.Count > 0)
+                {
+                    this.flowBox.LoadFlow((byte[])(lineTable.Rows[0]["FlowXML"]));
+                    this.OPTimeStamp = Convert.ToDateTime(lineTable.Rows[0]["OPTimeStamp"]);
+                }
+                //加载画布大小给文本框
+                this.txtFlowWidth.Text = this.flowBox.CanvasSize.Width.ToString();
+                this.txtFlowHeigth.Text = this.flowBox.CanvasSize.Height.ToString();
 
-            DataView dv = procedureTable.DefaultView;
-            dv.RowFilter = "ValueFlag=1";
+                // 加载工序信息
+                DataTable procedureTable = this.ProductionDataSet.Tables["procedureTable"];
+                _ValueFlagRow = procedureTable.Select("ValueFlag=0").Length;
 
-            procedureTable = dv.ToTable();
+                DataView dv = procedureTable.DefaultView;
+                dv.RowFilter = "ValueFlag=1";
 
-            foreach (FlowNode node in this.flowBox.AllNodes)
-            {
-                DataRow[] dr1 = procedureTable.Select("NodeNo=" + node.ItemID);
-                if (node.ItemID == this._nodeno)
-                {
-                    this._nodeno = node.ItemID;
-                    this._currentnode = node;
-                }
-                if (dr1.Length > 0)
-                {
-                    node.NodeImageType = Convert.ToInt32(dr1[0]["ProcedureModel"]);//工序模型为了给双击事件弹出对应的窗体
-                }
-                if (node.NodeImageType == 1)
+                procedureTable = dv.ToTable();
+
+                foreach (FlowNode node in this.flowBox.AllNodes)
                 {
-                    if (Convert.ToInt32(dr1[0]["modeltype"]) == Constant.ProcedureModelType.IntoKiln.GetHashCode())
+                    DataRow[] dr1 = procedureTable.Select("NodeNo=" + node.ItemID);
+                    if (node.ItemID == this._nodeno)
                     {
-                        node.NodeImage = new Bitmap(this.GetType(), "images.入窑64-01.png");
+                        this._nodeno = node.ItemID;
+                        this._currentnode = node;
                     }
-                    else if (Convert.ToInt32(dr1[0]["modeltype"]) == Constant.ProcedureModelType.LoadCar.GetHashCode())
+                    if (dr1.Length > 0)
                     {
-                        node.NodeImage = new Bitmap(this.GetType(), "images.装车64-01.png");
+                        node.NodeImageType = Convert.ToInt32(dr1[0]["ProcedureModel"]);//工序模型为了给双击事件弹出对应的窗体
                     }
-                    else if (Convert.ToInt32(dr1[0]["modeltype"]) == Constant.ProcedureModelType.UnloadCar.GetHashCode())
+                    if (node.NodeImageType == 1)
                     {
-                        node.NodeImage = new Bitmap(this.GetType(), "images.卸车64-01.png");
+                        if (Convert.ToInt32(dr1[0]["modeltype"]) == Constant.ProcedureModelType.IntoKiln.GetHashCode())
+                        {
+                            node.NodeImage = new Bitmap(this.GetType(), "images.入窑64-01.png");
+                        }
+                        else if (Convert.ToInt32(dr1[0]["modeltype"]) == Constant.ProcedureModelType.LoadCar.GetHashCode())
+                        {
+                            node.NodeImage = new Bitmap(this.GetType(), "images.装车64-01.png");
+                        }
+                        else if (Convert.ToInt32(dr1[0]["modeltype"]) == Constant.ProcedureModelType.UnloadCar.GetHashCode())
+                        {
+                            node.NodeImage = new Bitmap(this.GetType(), "images.卸车64-01.png");
+                        }
+                        else
+                        {
+                            node.NodeImage = new Bitmap(this.GetType(), "images.newflow.png");
+                        }
                     }
                     else
                     {
-                        node.NodeImage = new Bitmap(this.GetType(), "images.newflow.png");
+                        node.NodeImage = new Bitmap(this.GetType(), "images.newflowcheck.png");
                     }
-                }
-                else
-                {
-                    node.NodeImage = new Bitmap(this.GetType(), "images.newflowcheck.png");
-                }
-                if (Convert.ToInt32(dr1[0]["MustFlag"].ToString()) == 1)
-                {
-                    node.CanSkip = false;
-                }
-                else
-                {
-                    node.CanSkip = true;
-                }
-                node.Code = dr1[0]["ProcedureCode"].ToString();
-                node.Name = dr1[0]["ProcedureName"].ToString();
-                node.Remark = dr1[0]["Remarks"].ToString();
-                ProcedureEntity procedureEntity = new ProcedureEntity();//工序
-
-                procedureEntity.ProcedureID = Convert.ToInt32(dr1[0]["ProcedureID"].ToString());
-                procedureEntity.ProcedureCode = dr1[0]["ProcedureCode"].ToString();
-                procedureEntity.ProcedureName = dr1[0]["ProcedureName"].ToString();
-                procedureEntity.ProcedureModel = Convert.ToInt32(dr1[0]["ProcedureModel"].ToString());
-                procedureEntity.ModelType = Convert.ToInt32(dr1[0]["modeltype"].ToString());
-                procedureEntity.NodeType = Convert.ToInt32(dr1[0]["nodetype"].ToString());
-                procedureEntity.MustFlag = Convert.ToInt32(dr1[0]["MustFlag"].ToString());
-                procedureEntity.CollectType = Convert.ToInt32(dr1[0]["CollectType"].ToString());
-                procedureEntity.PieceType = Convert.ToInt32(dr1[0]["PieceType"].ToString());
-                procedureEntity.IsSpecialRework = Convert.ToInt32(dr1[0]["isspecialrework"].ToString());
-
-                //xuwei add 2019-10-17
-                procedureEntity.IsSemireWork = Convert.ToInt32(dr1[0]["isSemireWork"].ToString());
-                //xuwei add 2019-11-20
-                procedureEntity.PrintType = Convert.ToInt32(dr1[0]["printType"].ToString());
-
-                procedureEntity.OrganizationID = Convert.ToInt32(dr1[0]["OrganizationID"].ToString());
-                procedureEntity.Remarks = dr1[0]["Remarks"].ToString();
-                procedureEntity.NodeNo = Convert.ToInt32(dr1[0]["NodeNo"]);
-                procedureEntity.MissPriority = Convert.ToInt32(dr1[0]["misspriority"]);
-                procedureEntity.DisplayNo = Convert.ToInt32(dr1[0]["DisplayNo"]);
-                procedureEntity.UnDo = Convert.ToInt32(dr1[0]["UNDOFLAG"]);
-                procedureEntity.DeliverType = Convert.ToInt32(dr1[0]["DeliverType"]);
-                procedureEntity.BarCodePrintCopies = Convert.ToInt32(dr1[0]["BarCodePrintCopies"]);
-                procedureEntity.BarCodeFlag = Convert.ToInt32(dr1[0]["BarCodeFlag"]);
-                //if (dr1[0]["LogoID"] != DBNull.Value)
-                //{
-                //    procedureEntity.LogoID = Convert.ToInt32(dr1[0]["LogoID"]);
-                //}
-                // 对应产品信息
-                DataRow[] goodsRows = this.ProductionDataSet.Tables["procedureGoodsTable"].Select("NodeNo =" + node.ItemID);
-                if (goodsRows != null && goodsRows.Length > 0)
-                {
+                    if (Convert.ToInt32(dr1[0]["MustFlag"].ToString()) == 1)
+                    {
+                        node.CanSkip = false;
+                    }
+                    else
+                    {
+                        node.CanSkip = true;
+                    }
+                    node.Code = dr1[0]["ProcedureCode"].ToString();
+                    node.Name = dr1[0]["ProcedureName"].ToString();
+                    node.Remark = dr1[0]["Remarks"].ToString();
+                    ProcedureEntity procedureEntity = new ProcedureEntity();//工序
+
+                    procedureEntity.ProcedureID = Convert.ToInt32(dr1[0]["ProcedureID"].ToString());
+                    procedureEntity.ProcedureCode = dr1[0]["ProcedureCode"].ToString();
+                    procedureEntity.ProcedureName = dr1[0]["ProcedureName"].ToString();
+                    procedureEntity.ProcedureModel = Convert.ToInt32(dr1[0]["ProcedureModel"].ToString());
+                    procedureEntity.ModelType = Convert.ToInt32(dr1[0]["modeltype"].ToString());
+                    procedureEntity.NodeType = Convert.ToInt32(dr1[0]["nodetype"].ToString());
+                    procedureEntity.MustFlag = Convert.ToInt32(dr1[0]["MustFlag"].ToString());
+                    procedureEntity.CollectType = Convert.ToInt32(dr1[0]["CollectType"].ToString());
+                    procedureEntity.PieceType = Convert.ToInt32(dr1[0]["PieceType"].ToString());
+                    procedureEntity.IsSpecialRework = Convert.ToInt32(dr1[0]["isspecialrework"].ToString());
+
+                    //xuwei add 2019-10-17
+                    procedureEntity.IsSemireWork = Convert.ToInt32(dr1[0]["isSemireWork"].ToString());
+                    //xuwei add 2019-11-20
+
+                    procedureEntity.PrintType = Convert.ToInt32(dr1[0]["printType"].ToString());
+
+                    procedureEntity.OrganizationID = Convert.ToInt32(dr1[0]["OrganizationID"].ToString());
+                    procedureEntity.Remarks = dr1[0]["Remarks"].ToString();
+                    procedureEntity.NodeNo = Convert.ToInt32(dr1[0]["NodeNo"]);
+                    procedureEntity.MissPriority = Convert.ToInt32(dr1[0]["misspriority"]);
+                    procedureEntity.DisplayNo = Convert.ToInt32(dr1[0]["DisplayNo"]);
+                    procedureEntity.UnDo = Convert.ToInt32(dr1[0]["UNDOFLAG"]);
+                    procedureEntity.DeliverType = Convert.ToInt32(dr1[0]["DeliverType"]);
+                    procedureEntity.BarCodePrintCopies = Convert.ToInt32(dr1[0]["BarCodePrintCopies"]);
+                    procedureEntity.BarCodeFlag = Convert.ToInt32(dr1[0]["BarCodeFlag"]);
+                    //if (dr1[0]["LogoID"] != DBNull.Value)
+                    //{
+                    //    procedureEntity.LogoID = Convert.ToInt32(dr1[0]["LogoID"]);
+                    //}
+                    // 对应产品信息
+                    DataRow[] goodsRows = this.ProductionDataSet.Tables["procedureGoodsTable"].Select("NodeNo =" + node.ItemID);
+                    if (goodsRows != null && goodsRows.Length > 0)
+                    {
 
-                    procedureEntity.ProcedureGoodsTable = goodsRows.CopyToDataTable();
-                    procedureEntity.ProcedureGoodsTable.TableName = "procedureGoodsTable";
-                }
-                else
-                {
-                    procedureEntity.ProcedureGoodsTable = this.ProductionDataSet.Tables["procedureGoodsTable"].Clone();
-                }
-                // 工序对应工号表
-                DataRow[] userRows = this.ProductionDataSet.Tables["procedureUserTable"].Select("NodeNo =" + node.ItemID);
-                if (userRows != null && userRows.Length > 0)
-                {
-                    procedureEntity.ProcedureUserTable = userRows.CopyToDataTable();
-                    procedureEntity.ProcedureUserTable.TableName = "procedureUserTable";
-                }
-                else
-                {
-                    procedureEntity.ProcedureUserTable = this.ProductionDataSet.Tables["procedureUserTable"].Clone();
-                }
-                // 工序对应缺陷表(在检验工序中能检验出来的缺陷。)
-                DataRow[] defectRows = this.ProductionDataSet.Tables["procedureDefectTable"].Select("NodeNo =" + node.ItemID);
-                if (defectRows != null && defectRows.Length > 0)
-                {
-                    procedureEntity.ProcedureDefectTable = defectRows.CopyToDataTable();
-                    procedureEntity.ProcedureDefectTable.TableName = "procedureDefectTable";
-                }
-                else
-                {
-                    procedureEntity.ProcedureDefectTable = this.ProductionDataSet.Tables["procedureDefectTable"].Clone();
-                }
-                // 生产工序对应缺陷表
-                DataRow[] defectProcedureJobsRows = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Select("NodeNo =" + node.ItemID);
-                if (defectProcedureJobsRows != null && defectProcedureJobsRows.Length > 0)
-                {
-                    procedureEntity.DefectProcedureJobsTable = defectProcedureJobsRows.CopyToDataTable();
-                    procedureEntity.DefectProcedureJobsTable.TableName = "defectProcedureJobsTable";
-                }
-                else
-                {
-                    procedureEntity.DefectProcedureJobsTable = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Clone();
-                }
+                        procedureEntity.ProcedureGoodsTable = goodsRows.CopyToDataTable();
+                        procedureEntity.ProcedureGoodsTable.TableName = "procedureGoodsTable";
+                    }
+                    else
+                    {
+                        procedureEntity.ProcedureGoodsTable = this.ProductionDataSet.Tables["procedureGoodsTable"].Clone();
+                    }
+                    // 工序对应工号表
+                    DataRow[] userRows = this.ProductionDataSet.Tables["procedureUserTable"].Select("NodeNo =" + node.ItemID);
+                    if (userRows != null && userRows.Length > 0)
+                    {
+                        procedureEntity.ProcedureUserTable = userRows.CopyToDataTable();
+                        procedureEntity.ProcedureUserTable.TableName = "procedureUserTable";
+                    }
+                    else
+                    {
+                        procedureEntity.ProcedureUserTable = this.ProductionDataSet.Tables["procedureUserTable"].Clone();
+                    }
+                    // 工序对应缺陷表(在检验工序中能检验出来的缺陷。)
+                    DataRow[] defectRows = this.ProductionDataSet.Tables["procedureDefectTable"].Select("NodeNo =" + node.ItemID);
+                    if (defectRows != null && defectRows.Length > 0)
+                    {
+                        procedureEntity.ProcedureDefectTable = defectRows.CopyToDataTable();
+                        procedureEntity.ProcedureDefectTable.TableName = "procedureDefectTable";
+                    }
+                    else
+                    {
+                        procedureEntity.ProcedureDefectTable = this.ProductionDataSet.Tables["procedureDefectTable"].Clone();
+                    }
+                    // 生产工序对应缺陷表
+                    DataRow[] defectProcedureJobsRows = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Select("NodeNo =" + node.ItemID);
+                    if (defectProcedureJobsRows != null && defectProcedureJobsRows.Length > 0)
+                    {
+                        procedureEntity.DefectProcedureJobsTable = defectProcedureJobsRows.CopyToDataTable();
+                        procedureEntity.DefectProcedureJobsTable.TableName = "defectProcedureJobsTable";
+                    }
+                    else
+                    {
+                        procedureEntity.DefectProcedureJobsTable = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Clone();
+                    }
 
-                // 工序对应窑炉
-                DataRow[] kilnRows = this.ProductionDataSet.Tables["procedureKilnTable"].Select("NodeNo =" + node.ItemID);
-                if (kilnRows != null && kilnRows.Length > 0)
-                {
-                    procedureEntity.ProcedureKilnTable = kilnRows.CopyToDataTable();
-                    procedureEntity.ProcedureKilnTable.TableName = "procedureKilnTable";
-                }
-                else
-                {
-                    procedureEntity.ProcedureKilnTable = this.ProductionDataSet.Tables["procedureKilnTable"].Clone();
-                }
+                    // 工序对应窑炉
+                    DataRow[] kilnRows = this.ProductionDataSet.Tables["procedureKilnTable"].Select("NodeNo =" + node.ItemID);
+                    if (kilnRows != null && kilnRows.Length > 0)
+                    {
+                        procedureEntity.ProcedureKilnTable = kilnRows.CopyToDataTable();
+                        procedureEntity.ProcedureKilnTable.TableName = "procedureKilnTable";
+                    }
+                    else
+                    {
+                        procedureEntity.ProcedureKilnTable = this.ProductionDataSet.Tables["procedureKilnTable"].Clone();
+                    }
 
-                node.TagNonSerialized = procedureEntity;
-            }
+                    node.TagNonSerialized = procedureEntity;
+                }
 
 
 
-            //for (int i = 0; i < procedureTable.Rows.Count; i++)
-            //{
-            //    #region 加载工序信息
-            //    FlowNode node = (FlowNode)this.flowBox.AllNodes[i];
-            //    //if (node.NodeImageType == int.Parse(procedureTable.Rows[i]["ProcedureModel"].ToString()))
-            //    //{
-            //    node.NodeImageType = int.Parse(procedureTable.Rows[i]["ProcedureModel"].ToString());//工序模型为了给双击事件弹出对应的窗体
-            //    //}
-            //    if (node.NodeImageType == 1)
-            //    {
-            //        if (int.Parse(procedureTable.Rows[i]["modeltype"].ToString()) == Constant.ProcedureModelType.IntoKiln.GetHashCode())
-            //        {
-            //            node.NodeImage = new Bitmap(this.GetType(), "images.入窑64-01.png");
-            //        }
-            //        else if (int.Parse(procedureTable.Rows[i]["modeltype"].ToString()) == Constant.ProcedureModelType.LoadCar.GetHashCode())
-            //        {
-            //            node.NodeImage = new Bitmap(this.GetType(), "images.装车64-01.png");
-            //        }
-            //        else if (int.Parse(procedureTable.Rows[i]["modeltype"].ToString()) == Constant.ProcedureModelType.UnloadCar.GetHashCode())
-            //        {
-            //            node.NodeImage = new Bitmap(this.GetType(), "images.卸车64-01.png");
-            //        }
-            //        else
-            //        {
-            //            node.NodeImage = new Bitmap(this.GetType(), "images.newflow.png");
-            //        }
-            //    }
-            //    else
-            //    {
-            //        node.NodeImage = new Bitmap(this.GetType(), "images.newflowcheck.png");
-            //    }
-            //    if (int.Parse(procedureTable.Rows[i]["MustFlag"].ToString()) == 1)
-            //    {
-            //        node.CanSkip = true;
-            //    }
-            //    else
-            //    {
-            //        node.CanSkip = false;
-            //    }
-            //    node.Code = procedureTable.Rows[i]["ProcedureCode"].ToString();
-            //    node.Name = procedureTable.Rows[i]["ProcedureName"].ToString();
-            //    node.Remark = procedureTable.Rows[i]["Remarks"].ToString();
-            //    ProcedureEntity procedureEntity = new ProcedureEntity();//工序
-
-            //    procedureEntity.ProcedureID = int.Parse(procedureTable.Rows[i]["ProcedureID"].ToString());
-            //    procedureEntity.ProcedureCode = procedureTable.Rows[i]["ProcedureCode"].ToString();
-            //    procedureEntity.ProcedureName = procedureTable.Rows[i]["ProcedureName"].ToString();
-            //    procedureEntity.ProcedureModel = int.Parse(procedureTable.Rows[i]["ProcedureModel"].ToString());
-            //    procedureEntity.ModelType = int.Parse(procedureTable.Rows[i]["modeltype"].ToString());
-            //    procedureEntity.NodeType = int.Parse(procedureTable.Rows[i]["nodetype"].ToString());
-            //    procedureEntity.MustFlag = int.Parse(procedureTable.Rows[i]["MustFlag"].ToString());
-            //    procedureEntity.CollectType = int.Parse(procedureTable.Rows[i]["CollectType"].ToString());
-            //    procedureEntity.PieceType = int.Parse(procedureTable.Rows[i]["PieceType"].ToString());
-            //    procedureEntity.IsSpecialRework = int.Parse(procedureTable.Rows[i]["isspecialrework"].ToString());
-            //    procedureEntity.OrganizationID = int.Parse(procedureTable.Rows[i]["OrganizationID"].ToString());
-            //    procedureEntity.Remarks = procedureTable.Rows[i]["Remarks"].ToString();
-            //    procedureEntity.NodeNo = Convert.ToInt32(procedureTable.Rows[i]["NodeNo"]);
-            //    // 对应产品信息
-            //    DataRow[] goodsRows = this.ProductionDataSet.Tables["procedureGoodsTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
-            //    if (goodsRows != null && goodsRows.Length > 0)
-            //    {
-
-            //        procedureEntity.ProcedureGoodsTable = goodsRows.CopyToDataTable();
-            //        procedureEntity.ProcedureGoodsTable.TableName = "procedureGoodsTable";
-            //    }
-            //    else
-            //    {
-            //        procedureEntity.ProcedureGoodsTable = this.ProductionDataSet.Tables["procedureGoodsTable"].Clone();
-            //    }
-
-            //    // 工序对应工号表
-            //    DataRow[] userRows = this.ProductionDataSet.Tables["procedureUserTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
-            //    if (userRows != null && userRows.Length > 0)
-            //    {
-            //        procedureEntity.ProcedureUserTable = userRows.CopyToDataTable();
-            //        procedureEntity.ProcedureUserTable.TableName = "procedureUserTable";
-            //    }
-            //    else
-            //    {
-            //        procedureEntity.ProcedureUserTable = this.ProductionDataSet.Tables["procedureUserTable"].Clone();
-            //    }
-
-            //    // 工序对应缺陷表(在检验工序中能检验出来的缺陷。)
-            //    DataRow[] defectRows = this.ProductionDataSet.Tables["procedureDefectTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
-            //    if (defectRows != null && defectRows.Length > 0)
-            //    {
-            //        procedureEntity.ProcedureDefectTable = defectRows.CopyToDataTable();
-            //        procedureEntity.ProcedureDefectTable.TableName = "procedureDefectTable";
-            //    }
-            //    else
-            //    {
-            //        procedureEntity.ProcedureDefectTable = this.ProductionDataSet.Tables["procedureDefectTable"].Clone();
-            //    }
-
-            //    // 生产工序对应缺陷表
-            //    DataRow[] defectProcedureJobsRows = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
-            //    if (defectProcedureJobsRows != null && defectProcedureJobsRows.Length > 0)
-            //    {
-            //        procedureEntity.DefectProcedureJobsTable = defectProcedureJobsRows.CopyToDataTable();
-            //        procedureEntity.DefectProcedureJobsTable.TableName = "defectProcedureJobsTable";
-            //    }
-            //    else
-            //    {
-            //        procedureEntity.DefectProcedureJobsTable = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Clone();
-            //    }
-            //    node.TagNonSerialized = procedureEntity;
-            //    #endregion
-            //}
-            this.flowBox.RefreshItems();
-            this.txtLineCode.Text = this._lineCode;
-            this.txtLineName.Text = this._lineName;
-            this.flowBox.NodeDoubleClick += flowBox_NodeDoubleClick;
-            //if(this._currentnode!=null)
-            //{
-            //    if (this._currentnode.NodeImageType == 2)
-            //    {
-            //        F_PC_0206 frm0206 = new F_PC_0206(this._currentnode, this.flowBox);
-            //        frm0206.ShowDialog();
-            //    }
-            //    else
-            //    {
-            //        F_PC_0207 frm0207 = new F_PC_0207(this._currentnode, this.flowBox);
-            //        frm0207.ShowDialog();
-            //    }
-            //    this.flowBox.RefreshItems();
-            //}
+                //for (int i = 0; i < procedureTable.Rows.Count; i++)
+                //{
+                //    #region 加载工序信息
+                //    FlowNode node = (FlowNode)this.flowBox.AllNodes[i];
+                //    //if (node.NodeImageType == int.Parse(procedureTable.Rows[i]["ProcedureModel"].ToString()))
+                //    //{
+                //    node.NodeImageType = int.Parse(procedureTable.Rows[i]["ProcedureModel"].ToString());//工序模型为了给双击事件弹出对应的窗体
+                //    //}
+                //    if (node.NodeImageType == 1)
+                //    {
+                //        if (int.Parse(procedureTable.Rows[i]["modeltype"].ToString()) == Constant.ProcedureModelType.IntoKiln.GetHashCode())
+                //        {
+                //            node.NodeImage = new Bitmap(this.GetType(), "images.入窑64-01.png");
+                //        }
+                //        else if (int.Parse(procedureTable.Rows[i]["modeltype"].ToString()) == Constant.ProcedureModelType.LoadCar.GetHashCode())
+                //        {
+                //            node.NodeImage = new Bitmap(this.GetType(), "images.装车64-01.png");
+                //        }
+                //        else if (int.Parse(procedureTable.Rows[i]["modeltype"].ToString()) == Constant.ProcedureModelType.UnloadCar.GetHashCode())
+                //        {
+                //            node.NodeImage = new Bitmap(this.GetType(), "images.卸车64-01.png");
+                //        }
+                //        else
+                //        {
+                //            node.NodeImage = new Bitmap(this.GetType(), "images.newflow.png");
+                //        }
+                //    }
+                //    else
+                //    {
+                //        node.NodeImage = new Bitmap(this.GetType(), "images.newflowcheck.png");
+                //    }
+                //    if (int.Parse(procedureTable.Rows[i]["MustFlag"].ToString()) == 1)
+                //    {
+                //        node.CanSkip = true;
+                //    }
+                //    else
+                //    {
+                //        node.CanSkip = false;
+                //    }
+                //    node.Code = procedureTable.Rows[i]["ProcedureCode"].ToString();
+                //    node.Name = procedureTable.Rows[i]["ProcedureName"].ToString();
+                //    node.Remark = procedureTable.Rows[i]["Remarks"].ToString();
+                //    ProcedureEntity procedureEntity = new ProcedureEntity();//工序
+
+                //    procedureEntity.ProcedureID = int.Parse(procedureTable.Rows[i]["ProcedureID"].ToString());
+                //    procedureEntity.ProcedureCode = procedureTable.Rows[i]["ProcedureCode"].ToString();
+                //    procedureEntity.ProcedureName = procedureTable.Rows[i]["ProcedureName"].ToString();
+                //    procedureEntity.ProcedureModel = int.Parse(procedureTable.Rows[i]["ProcedureModel"].ToString());
+                //    procedureEntity.ModelType = int.Parse(procedureTable.Rows[i]["modeltype"].ToString());
+                //    procedureEntity.NodeType = int.Parse(procedureTable.Rows[i]["nodetype"].ToString());
+                //    procedureEntity.MustFlag = int.Parse(procedureTable.Rows[i]["MustFlag"].ToString());
+                //    procedureEntity.CollectType = int.Parse(procedureTable.Rows[i]["CollectType"].ToString());
+                //    procedureEntity.PieceType = int.Parse(procedureTable.Rows[i]["PieceType"].ToString());
+                //    procedureEntity.IsSpecialRework = int.Parse(procedureTable.Rows[i]["isspecialrework"].ToString());
+                //    procedureEntity.OrganizationID = int.Parse(procedureTable.Rows[i]["OrganizationID"].ToString());
+                //    procedureEntity.Remarks = procedureTable.Rows[i]["Remarks"].ToString();
+                //    procedureEntity.NodeNo = Convert.ToInt32(procedureTable.Rows[i]["NodeNo"]);
+                //    // 对应产品信息
+                //    DataRow[] goodsRows = this.ProductionDataSet.Tables["procedureGoodsTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
+                //    if (goodsRows != null && goodsRows.Length > 0)
+                //    {
+
+                //        procedureEntity.ProcedureGoodsTable = goodsRows.CopyToDataTable();
+                //        procedureEntity.ProcedureGoodsTable.TableName = "procedureGoodsTable";
+                //    }
+                //    else
+                //    {
+                //        procedureEntity.ProcedureGoodsTable = this.ProductionDataSet.Tables["procedureGoodsTable"].Clone();
+                //    }
+
+                //    // 工序对应工号表
+                //    DataRow[] userRows = this.ProductionDataSet.Tables["procedureUserTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
+                //    if (userRows != null && userRows.Length > 0)
+                //    {
+                //        procedureEntity.ProcedureUserTable = userRows.CopyToDataTable();
+                //        procedureEntity.ProcedureUserTable.TableName = "procedureUserTable";
+                //    }
+                //    else
+                //    {
+                //        procedureEntity.ProcedureUserTable = this.ProductionDataSet.Tables["procedureUserTable"].Clone();
+                //    }
+
+                //    // 工序对应缺陷表(在检验工序中能检验出来的缺陷。)
+                //    DataRow[] defectRows = this.ProductionDataSet.Tables["procedureDefectTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
+                //    if (defectRows != null && defectRows.Length > 0)
+                //    {
+                //        procedureEntity.ProcedureDefectTable = defectRows.CopyToDataTable();
+                //        procedureEntity.ProcedureDefectTable.TableName = "procedureDefectTable";
+                //    }
+                //    else
+                //    {
+                //        procedureEntity.ProcedureDefectTable = this.ProductionDataSet.Tables["procedureDefectTable"].Clone();
+                //    }
+
+                //    // 生产工序对应缺陷表
+                //    DataRow[] defectProcedureJobsRows = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Select("NodeNo =" + procedureTable.Rows[i]["NodeNo"].ToString());
+                //    if (defectProcedureJobsRows != null && defectProcedureJobsRows.Length > 0)
+                //    {
+                //        procedureEntity.DefectProcedureJobsTable = defectProcedureJobsRows.CopyToDataTable();
+                //        procedureEntity.DefectProcedureJobsTable.TableName = "defectProcedureJobsTable";
+                //    }
+                //    else
+                //    {
+                //        procedureEntity.DefectProcedureJobsTable = this.ProductionDataSet.Tables["defectProcedureJobsTable"].Clone();
+                //    }
+                //    node.TagNonSerialized = procedureEntity;
+                //    #endregion
+                //}
+                this.flowBox.RefreshItems();
+                this.txtLineCode.Text = this._lineCode;
+                this.txtLineName.Text = this._lineName;
+                this.flowBox.NodeDoubleClick += flowBox_NodeDoubleClick;
+                //if(this._currentnode!=null)
+                //{
+                //    if (this._currentnode.NodeImageType == 2)
+                //    {
+                //        F_PC_0206 frm0206 = new F_PC_0206(this._currentnode, this.flowBox);
+                //        frm0206.ShowDialog();
+                //    }
+                //    else
+                //    {
+                //        F_PC_0207 frm0207 = new F_PC_0207(this._currentnode, this.flowBox);
+                //        frm0207.ShowDialog();
+                //    }
+                //    this.flowBox.RefreshItems();
+                //}
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
         }
 
         /// <summary>
@@ -442,6 +452,8 @@ namespace Dongke.IBOSS.PRD.Client.PCModule
         /// <param name="e"></param>
         void flowBox_NodeDoubleClick(object sender, NodeEventArgs e)
         {
+            try
+            {
             if (e.Node.NodeImageType == 2)
             {
                 F_PC_0206 frm0206 = new F_PC_0206(e.Node, this.flowBox);
@@ -461,6 +473,13 @@ namespace Dongke.IBOSS.PRD.Client.PCModule
                 frm0207.ShowDialog();
             }
             this.flowBox.RefreshItems();
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
         }
 
         /// <summary>

+ 4 - 3
DK.Service/BarcodePrintService/BarcodePrintLogic.cs

@@ -13,8 +13,9 @@ using System.Collections.Generic;
 using System.Data;
 
 using Curtain.DataAccess;
-using Curtain.Framework.Helpers;
-using Curtain.Framework.Log;
+using Curtain.Framework.Json;
+using Curtain.Log;
+
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.DataAccess;
 using Dongke.IBOSS.PRD.Service.DataModels;
@@ -485,7 +486,7 @@ namespace Dongke.IBOSS.PRD.Service.BarcodePrintService
                     new CDASqlStrParameter("AccountID", "@AccountID@", sUserInfo.AccountID),
                     new CDASqlStrParameter("CreateUserID", "@CreateUserID@", sUserInfo.UserID),
                 };
-                dataAccess = DataAccessFactory.CreateDataAccess(Curtain.DataAccess.DataBaseType.Oracle, DataManager.ConnectionString);
+                dataAccess = DataAccess.Create(Curtain.DataAccess.DataBaseType.Oracle, DataManager.ConnectionString);
 
                 dataAccess.Insert("TP_MST_BarCodePrintLog", ps);
             }

+ 3 - 0
DK.Service/BarcodePrintService/BarcodePrintService.csproj

@@ -84,6 +84,9 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
+    <Reference Include="Curtain.Core">
+      <HintPath>..\..\DLL\Curtain.Core.dll</HintPath>
+    </Reference>
     <Reference Include="Curtain.DataAccess">
       <HintPath>..\..\DLL\Curtain.DataAccess.dll</HintPath>
     </Reference>

BIN
DLL/Curtain.Core.dll


+ 4030 - 0
DLL/Curtain.Core.xml

@@ -0,0 +1,4030 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Curtain.Core</name>
+    </assembly>
+    <members>
+        <member name="T:Curtain.Collections.Attributes">
+            <summary>
+            属性的集合。
+            </summary>
+        </member>
+        <member name="M:Curtain.Collections.Attributes.GetValue``1(System.String)">
+            <summary>
+            获取与指定的键相关联的值。
+            </summary>
+            <param name="key">要获取的值的键</param>
+            <returns>与指定的键相关联的值(key不存在时返回类型T的默认值)</returns>
+        </member>
+        <member name="M:Curtain.Collections.Attributes.TryGetValue``1(System.String,``0@)">
+            <summary>
+            获取与指定的键相关联的值。
+            </summary>
+            <param name="key">要获取的值的键。</param>
+            <param name="value">当此方法返回值时,如果找到该键,便会返回与指定的键相关联的值;否则,则会返回 value 参数的类型默认值。该参数未经初始化即被传递。</param>
+            <returns>包含具有指定键的值,则为 true;否则为 false。</returns>
+        </member>
+        <member name="T:Curtain.Collections.KeyValues`2">
+            <summary>
+            表示键和值的集合。
+            </summary>
+            <typeparam name="TKey">字典中的键的类型。</typeparam>
+            <typeparam name="TValue">字典中的值的类型。</typeparam>
+        </member>
+        <member name="P:Curtain.Collections.KeyValues`2.Item(`0)">
+            <summary>
+            获取或设置与指定的键相关联的值。
+            </summary>
+            <param name="key">要获取或设置的值的键</param>
+            <returns>与指定的键相关联的值</returns>
+        </member>
+        <member name="M:Curtain.Collections.KeyValues`2.GetValue(`0)">
+            <summary>
+            获取与指定的键相关联的值。
+            </summary>
+            <param name="key">要获取的值的键</param>
+            <returns>与指定的键相关联的值(key不存在时返回类型T的默认值)</returns>
+        </member>
+        <member name="M:Curtain.Collections.KeyValues`2.GetStringValue(`0)">
+            <summary>
+            获取与指定的键相关联的值。
+            </summary>
+            <param name="key">要获取的值的键</param>
+            <returns>与指定的键相关联的值</returns>
+        </member>
+        <member name="M:Curtain.Collections.KeyValues`2.ContainsKey(`0)">
+            <summary>
+            是否包含指定的键。
+            </summary>
+            <param name="key">定位的键</param>
+            <returns>包含具有指定键的值,则为 true;否则为 false。</returns>
+        </member>
+        <member name="M:Curtain.Collections.KeyValues`2.TryGetValue(`0,`1@)">
+            <summary>
+            获取与指定的键相关联的值。
+            </summary>
+            <param name="key">要获取的值的键。</param>
+            <param name="value">当此方法返回值时,如果找到该键,便会返回与指定的键相关联的值;否则,则会返回 value 参数的类型默认值。该参数未经初始化即被传递。</param>
+            <returns>包含具有指定键的值,则为 true;否则为 false。</returns>
+        </member>
+        <member name="M:Curtain.Collections.KeyValues`2.TryGetStringValue(`0,System.String@)">
+            <summary>
+            获取与指定的键相关联的值。
+            </summary>
+            <param name="key">要获取的值的键。</param>
+            <param name="value">当此方法返回值时,如果找到该键,便会返回与指定的键相关联的值;否则,则会返回 value 参数的类型默认值。该参数未经初始化即被传递。</param>
+            <returns>包含具有指定键的值,则为 true;否则为 false。</returns>
+        </member>
+        <member name="M:Curtain.Collections.KeyValues`2.ToString">
+            <summary>
+            返回表示当前对象的字符串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Collections.SectionKeyValues`3">
+            <summary>
+            表示段、键和值的集合。
+            </summary>
+            <typeparam name="TSection">段</typeparam>
+            <typeparam name="TKey">键</typeparam>
+            <typeparam name="TValue">值</typeparam>
+        </member>
+        <member name="F:Curtain.Collections.SectionKeyValues`3._sectionKeyValues">
+            <summary>
+            集合
+            </summary>
+        </member>
+        <member name="P:Curtain.Collections.SectionKeyValues`3.SectionCount">
+            <summary>
+            段个数
+            </summary>
+        </member>
+        <member name="P:Curtain.Collections.SectionKeyValues`3.Sections">
+            <summary>
+            段集合
+            </summary>
+        </member>
+        <member name="P:Curtain.Collections.SectionKeyValues`3.KeyValues">
+            <summary>
+            键、值集合
+            </summary>
+        </member>
+        <member name="P:Curtain.Collections.SectionKeyValues`3.Item(`0)">
+            <summary>
+            键、值
+            </summary>
+            <param name="section">段</param>
+            <returns>键、值</returns>
+        </member>
+        <member name="P:Curtain.Collections.SectionKeyValues`3.Item(`0,`1)">
+            <summary>
+            值
+            </summary>
+            <param name="section">段</param>
+            <param name="key">键</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.#ctor">
+            <summary>
+            表示段、键和值的集合
+            </summary>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.GetKeyValueCount(`0)">
+            <summary>
+            段中键和值个数
+            </summary>
+            <param name="section">段</param>
+            <returns>键和值个数</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.GetValue(`0,`1)">
+            <summary>
+            获取与指定的段、键相关联的值。
+            </summary>
+            <param name="section">要获取的值的段</param>
+            <param name="key">要获取的值的键</param>
+            <returns>与指定的段、键相关联的值(section、key不存在时返回类型T的默认值)</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.GetStringValue(`0,`1)">
+            <summary>
+            获取与指定的段、键相关联的值。
+            </summary>
+            <param name="section">要获取的值的段</param>
+            <param name="key">要获取的值的键</param>
+            <returns>与指定的键相关联的值</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.Clear">
+            <summary>
+            移除所有的值
+            </summary>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.ClearKeyValues(`0)">
+            <summary>
+            移除段中所有的值
+            </summary>
+            <param name="section"></param>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.ContainsSection(`0)">
+            <summary>
+            是否包含指定的段
+            </summary>
+            <param name="section">段</param>
+            <returns>是否包含指定的段</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.ContainsKey(`0,`1)">
+            <summary>
+            是否包含指定的段、键
+            </summary>
+            <param name="section">段</param>
+            <param name="key">键</param>
+            <returns>是否包含指定的段、键</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.ContainsKey(`1)">
+            <summary>
+            是否包含指定的键
+            </summary>
+            <param name="key">键</param>
+            <returns>包含指定的键的段</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.ContainsValue(`2)">
+            <summary>
+            是否包含特定值
+            </summary>
+            <param name="value">特定值</param>
+            <returns>是否包含特定值</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.Remove(`0)">
+            <summary>
+            移除指定的段所有值
+            </summary>
+            <param name="section">段</param>
+            <returns>是否成功</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.Remove(`0,`1)">
+            <summary>
+            移除指定的段、键的值
+            </summary>
+            <param name="section">段</param>
+            <param name="key">键</param>
+            <returns>是否成功</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.TryGetValue(`0,`1,`2@)">
+            <summary>
+            获取与指定的段、键相关联的值。
+            </summary>
+            <param name="section">要获取的值的段</param>
+            <param name="key">要获取的值的键。</param>
+            <param name="value">当此方法返回值时,如果找到该键,便会返回与指定的键相关联的值;否则,则会返回 value 参数的类型默认值。该参数未经初始化即被传递。</param>
+            <returns>包含具有指定键的值,则为 true;否则为 false。</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.TryGetStringValue(`0,`1,System.String@)">
+            <summary>
+            获取与指定的键相关联的值。
+            </summary>
+            <param name="section">要获取的值的段</param>
+            <param name="key">要获取的值的键。</param>
+            <param name="value">当此方法返回值时,如果找到该键,便会返回与指定的键相关联的值;否则,则会返回 value 参数的类型默认值。该参数未经初始化即被传递。</param>
+            <returns>包含具有指定段、键的值,则为 true;否则为 false。</returns>
+        </member>
+        <member name="M:Curtain.Collections.SectionKeyValues`3.ToString">
+            <summary>
+            返回表示当前对象的字符串
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Collections.Settings">
+            <summary>
+            参数设置的集合。
+            </summary>
+        </member>
+        <member name="M:Curtain.Collections.Settings.GetValue``1(System.String,System.String)">
+            <summary>
+            获取与指定的段、键相关联的值。
+            </summary>
+            <param name="section">要获取的值的段</param>
+            <param name="key">要获取的值的键</param>
+            <returns>与指定的键相关联的值(key不存在时返回类型T的默认值)</returns>
+        </member>
+        <member name="M:Curtain.Collections.Settings.TryGetValue``1(System.String,System.String,``0@)">
+            <summary>
+            获取与指定的段、键相关联的值。
+            </summary>
+            <param name="section">要获取的值的段</param>
+            <param name="key">要获取的值的键。</param>
+            <param name="value">当此方法返回值时,如果找到该键,便会返回与指定的键相关联的值;否则,则会返回 value 参数的类型默认值。该参数未经初始化即被传递。</param>
+            <returns>包含具有指定键的值,则为 true;否则为 false。</returns>
+        </member>
+        <member name="T:Curtain.Systems.Cryptography.AsymmetricCryptogram">
+            <summary>
+            非对称密码
+            </summary>
+        </member>
+        <member name="P:Curtain.Systems.Cryptography.AsymmetricCryptogram.DefaultCryptogramType">
+            <summary>
+            获取或设置非对称加密类型
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.GetKeys">
+            <summary>
+            获取公钥、密钥
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.GetKeys(Curtain.Systems.Cryptography.AsymmetricCryptogramType)">
+            <summary>
+            获取公钥、密钥
+            </summary>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.GetKeys(System.String@,System.String@)">
+            <summary>
+            获取公钥、密钥
+            </summary>
+            <param name="privateKey"></param>
+            <param name="publicKey"></param>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.GetKeys(Curtain.Systems.Cryptography.AsymmetricCryptogramType,System.String@,System.String@)">
+            <summary>
+            获取公钥、密钥
+            </summary>
+            <param name="type"></param>
+            <param name="privateKey"></param>
+            <param name="publicKey"></param>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Encrypt(System.String,System.String)">
+            <summary>
+            非对称加密
+            </summary>
+            <param name="value"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Encrypt(System.String,System.String,Curtain.Systems.Cryptography.AsymmetricCryptogramType)">
+            <summary>
+            非对称加密
+            </summary>
+            <param name="value"></param>
+            <param name="publicKey"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Encrypt(System.Byte[],System.String)">
+            <summary>
+            非对称加密
+            </summary>
+            <param name="data"></param>
+            <param name="publicKey"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Encrypt(System.Byte[],System.String,Curtain.Systems.Cryptography.AsymmetricCryptogramType)">
+            <summary>
+            非对称加密
+            </summary>
+            <param name="data"></param>
+            <param name="publicKey"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Decrypt(System.String,System.String)">
+            <summary>
+            非对称解密
+            </summary>
+            <param name="value"></param>
+            <param name="privateKey"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Decrypt(System.String,System.String,Curtain.Systems.Cryptography.AsymmetricCryptogramType)">
+            <summary>
+            非对称解密
+            </summary>
+            <param name="value"></param>
+            <param name="privateKey"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Decrypt(System.Byte[],System.String)">
+            <summary>
+            非对称解密
+            </summary>
+            <param name="data"></param>
+            <param name="privateKey"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.AsymmetricCryptogram.Decrypt(System.Byte[],System.String,Curtain.Systems.Cryptography.AsymmetricCryptogramType)">
+            <summary>
+            非对称解密
+            </summary>
+            <param name="data"></param>
+            <param name="privateKey"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Cryptography.AsymmetricCryptogramType">
+            <summary>
+            非对称加密类型
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.AsymmetricCryptogramType.RSA">
+            <summary>
+            RSA
+            </summary>
+        </member>
+        <member name="T:Curtain.Systems.Cryptography.HashCryptogram">
+            <summary>
+            哈希加密
+            </summary>
+        </member>
+        <member name="P:Curtain.Systems.Cryptography.HashCryptogram.DefaultCryptogramType">
+            <summary>
+            获取或设置哈希加密类型
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.HashCryptogram.Encrypt(System.String)">
+            <summary>
+            哈希加密
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.HashCryptogram.Encrypt(System.String,Curtain.Systems.Cryptography.HashCryptogramType)">
+            <summary>
+            哈希加密
+            </summary>
+            <param name="value"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.HashCryptogram.Encrypt(System.Byte[])">
+            <summary>
+            哈希加密
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.HashCryptogram.Encrypt(System.Byte[],Curtain.Systems.Cryptography.HashCryptogramType)">
+            <summary>
+            哈希加密
+            </summary>
+            <param name="data"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Cryptography.HashCryptogramType">
+            <summary>
+            哈希加密类型
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.HashCryptogramType.MD5">
+            <summary>
+            MD5
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.HashCryptogramType.SHA1">
+            <summary>
+            SHA1
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.HashCryptogramType.SHA256">
+            <summary>
+            SHA256
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.HashCryptogramType.SHA384">
+            <summary>
+            SHA384
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.HashCryptogramType.SHA512">
+            <summary>
+            SHA512
+            </summary>
+        </member>
+        <member name="T:Curtain.Systems.Cryptography.SymmetricCryptogram">
+            <summary>
+            对称加密
+            </summary>
+        </member>
+        <member name="P:Curtain.Systems.Cryptography.SymmetricCryptogram.DefaultCryptogramType">
+            <summary>
+            获取或设置对称加密类型
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Encrypt(System.String,System.String)">
+            <summary>
+            对称加密
+            </summary>
+            <param name="value"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Encrypt(System.String,System.String,Curtain.Systems.Cryptography.SymmetricCryptogramType)">
+            <summary>
+            对称加密
+            </summary>
+            <param name="value"></param>
+            <param name="key"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Encrypt(System.Byte[],System.Byte[])">
+            <summary>
+            对称加密
+            </summary>
+            <param name="data"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Encrypt(System.Byte[],System.Byte[],Curtain.Systems.Cryptography.SymmetricCryptogramType)">
+            <summary>
+            对称加密
+            </summary>
+            <param name="data"></param>
+            <param name="key"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Encrypt(System.Byte[],System.Byte[],System.Byte[],Curtain.Systems.Cryptography.SymmetricCryptogramType)">
+            <summary>
+            对称加密
+            </summary>
+            <param name="data"></param>
+            <param name="key"></param>
+            <param name="iv"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Decrypt(System.String,System.String)">
+            <summary>
+            对称解密
+            </summary>
+            <param name="value"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Decrypt(System.String,System.String,Curtain.Systems.Cryptography.SymmetricCryptogramType)">
+            <summary>
+            对称解密
+            </summary>
+            <param name="value"></param>
+            <param name="key"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Decrypt(System.Byte[],System.Byte[])">
+            <summary>
+            对称解密
+            </summary>
+            <param name="data"></param>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Decrypt(System.Byte[],System.Byte[],Curtain.Systems.Cryptography.SymmetricCryptogramType)">
+            <summary>
+            对称解密
+            </summary>
+            <param name="data"></param>
+            <param name="key"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Cryptography.SymmetricCryptogram.Decrypt(System.Byte[],System.Byte[],System.Byte[],Curtain.Systems.Cryptography.SymmetricCryptogramType)">
+            <summary>
+            对称解密
+            </summary>
+            <param name="data"></param>
+            <param name="key"></param>
+            <param name="iv"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Cryptography.SymmetricCryptogramType">
+            <summary>
+            对称加密类型
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.SymmetricCryptogramType.Rijndael">
+            <summary>
+            Rijndael
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.SymmetricCryptogramType.Aes">
+            <summary>
+            Aes
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.SymmetricCryptogramType.DES">
+            <summary>
+            DES
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Cryptography.SymmetricCryptogramType.TripleDES">
+            <summary>
+            TripleDES
+            </summary>
+        </member>
+        <member name="T:Curtain.Systems.Serialization.Serializer">
+            <summary>
+            序列化帮助类
+            </summary>
+        </member>
+        <member name="P:Curtain.Systems.Serialization.Serializer.DefaultSerializationType">
+            <summary>
+            获取或设置序列化类型
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.Serializer.SerializeString(System.Object)">
+            <summary>
+            序列化
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.Serializer.Serialize(System.Object)">
+            <summary>
+            序列化
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.Serializer.Serialize(System.IO.Stream,System.Object)">
+            <summary>
+            序列化
+            </summary>
+            <param name="stream"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.Serializer.Deserialize``1(System.String)">
+            <summary>
+            反序列化
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.Serializer.Deserialize``1(System.Byte[])">
+            <summary>
+            反序列化
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.Serializer.Deserialize``1(System.IO.Stream)">
+            <summary>
+            反序列化
+            </summary>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Serialization.SerializationType">
+            <summary>
+            序列化类型
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Serialization.SerializationType.DataContract">
+            <summary>
+            DataContract
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Serialization.SerializationType.DataContractJson">
+            <summary>
+            DataContractJson
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Serialization.SerializationType.Xml">
+            <summary>
+            Xml
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Serialization.SerializationType.BinaryFormatter">
+            <summary>
+            BinaryFormatter
+            </summary>
+        </member>
+        <member name="F:Curtain.Systems.Serialization.SerializationType.SoapFormatter">
+            <summary>
+            SoapFormatter
+            </summary>
+        </member>
+        <member name="T:Curtain.Systems.Serialization.DataContractJsonSerializer">
+            <summary>
+            序列化帮助类
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractJsonSerializer.SerializeString(System.Object)">
+            <summary>
+            DataContractJson序列化
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractJsonSerializer.Serialize(System.Object)">
+            <summary>
+            DataContractJson序列化
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractJsonSerializer.Serialize(System.IO.Stream,System.Object)">
+            <summary>
+            DataContractJson序列化
+            </summary>
+            <param name="stream"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractJsonSerializer.Deserialize``1(System.String)">
+            <summary>
+            DataContractJson反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="json"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractJsonSerializer.Deserialize``1(System.Byte[])">
+            <summary>
+            DataContractJson反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractJsonSerializer.Deserialize``1(System.IO.Stream)">
+            <summary>
+            DataContractJson反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Serialization.XmlSerializer">
+            <summary>
+            序列化帮助类
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.XmlSerializer.SerializeString(System.Object)">
+            <summary>
+            Xml序列化
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.XmlSerializer.Serialize(System.Object)">
+            <summary>
+            Xml序列化
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.XmlSerializer.Serialize(System.IO.Stream,System.Object)">
+            <summary>
+            Xml序列化
+            </summary>
+            <param name="stream"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.XmlSerializer.Deserialize``1(System.String)">
+            <summary>
+            Xml反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="xml"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.XmlSerializer.Deserialize``1(System.Byte[])">
+            <summary>
+            Xml反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.XmlSerializer.Deserialize``1(System.IO.Stream)">
+            <summary>
+            Xml反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Serialization.BinaryFormatter">
+            <summary>
+            序列化帮助类
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.BinaryFormatter.SerializeString(System.Object)">
+            <summary>
+            BinaryFormatter序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.BinaryFormatter.Serialize(System.Object)">
+            <summary>
+            BinaryFormatter序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.BinaryFormatter.Serialize(System.IO.Stream,System.Object)">
+            <summary>
+            BinaryFormatter序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="stream"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.BinaryFormatter.Deserialize``1(System.String)">
+            <summary>
+            BinaryFormatter反序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.BinaryFormatter.Deserialize``1(System.Byte[])">
+            <summary>
+            BinaryFormatter反序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.BinaryFormatter.Deserialize``1(System.IO.Stream)">
+            <summary>
+            BinaryFormatter反序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Serialization.SoapFormatter">
+            <summary>
+            序列化帮助类
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.SoapFormatter.SerializeString(System.Object)">
+            <summary>
+            SoapFormatter序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.SoapFormatter.Serialize(System.Object)">
+            <summary>
+            序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.SoapFormatter.Serialize(System.IO.Stream,System.Object)">
+            <summary>
+            序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="stream"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.SoapFormatter.Deserialize``1(System.String)">
+            <summary>
+            反序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.SoapFormatter.Deserialize``1(System.Byte[])">
+            <summary>
+            反序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.SoapFormatter.Deserialize``1(System.IO.Stream)">
+            <summary>
+            反序列化
+            必须类型必须标记为Serializable
+            </summary>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Serialization.DataContractSerializer">
+            <summary>
+            序列化帮助类
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractSerializer.SerializeString(System.Object,System.Collections.Generic.List{System.Type})">
+            <summary>
+            序列化
+            </summary>
+            <param name="value"></param>
+            <param name="knownTypes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractSerializer.Serialize(System.Object,System.Collections.Generic.List{System.Type})">
+            <summary>
+            序列化
+            </summary>
+            <param name="value"></param>
+            <param name="knownTypes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractSerializer.Serialize(System.IO.Stream,System.Object,System.Collections.Generic.List{System.Type})">
+            <summary>
+            序列化
+            </summary>
+            <param name="stream"></param>
+            <param name="value"></param>
+            <param name="knownTypes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractSerializer.Deserialize``1(System.String)">
+            <summary>
+            反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractSerializer.Deserialize``1(System.Byte[])">
+            <summary>
+            反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Serialization.DataContractSerializer.Deserialize``1(System.IO.Stream)">
+            <summary>
+            反序列化
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Systems.Zip.Ziper">
+            <summary>
+            压缩帮助类
+            </summary>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.Serialize(System.Object)">
+            <summary>
+            序列化
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.Serialize(System.IO.Stream,System.Object)">
+            <summary>
+            序列化
+            </summary>
+            <param name="stream"></param>
+            <param name="value"></param>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.Deserialize(System.Byte[])">
+            <summary>
+            反序列化
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.Deserialize(System.IO.Stream)">
+            <summary>
+            反序列化
+            </summary>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByDeflateStream(System.Object)">
+            <summary>
+            DeflateStream压缩(适合于通信传输)
+            </summary>
+            <param name="value">压缩前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByDeflateStream(System.Byte[])">
+            <summary>
+            DeflateStream压缩(适合于通信传输)
+            </summary>
+            <param name="bytes">压缩前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByDeflateStream(System.IO.Stream)">
+            <summary>
+            DeflateStream压缩(适合于通信传输)
+            </summary>
+            <param name="inStream">输入流(压缩前)</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByDeflateStream(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            DeflateStream压缩(适合于通信传输)
+            </summary>
+            <param name="inStream">输入流(压缩前)</param>
+            <param name="outStream">输出流(压缩后)</param>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipObjectByDeflateStream(System.Byte[])">
+            <summary>
+            DeflateStream解压(适合于通信传输)
+            </summary>
+            <param name="data">解压前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipByDeflateStream(System.Byte[])">
+            <summary>
+            DeflateStream解压(适合于通信传输)
+            </summary>
+            <param name="data">解压前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipByDeflateStream(System.Byte[],System.IO.Stream)">
+            <summary>
+            DeflateStream解压(适合于通信传输)
+            </summary>
+            <param name="data"></param>
+            <param name="outStream"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipByDeflateStream(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            DeflateStream解压(适合于通信传输)
+            </summary>
+            <param name="inStream">输入流(解压前)</param>
+            <param name="outStream">输出流(解压后)</param>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByGZipStream(System.Object)">
+            <summary>
+            GZipStream压缩
+            </summary>
+            <param name="value">压缩前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByGZipStream(System.Byte[])">
+            <summary>
+            GZipStream压缩
+            </summary>
+            <param name="bytes">压缩前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByGZipStream(System.IO.Stream)">
+            <summary>
+            GZipStream压缩
+            </summary>
+            <param name="inStream">输入流(压缩前)</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.ZipByGZipStream(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            GZipStream压缩
+            </summary>
+            <param name="inStream">输入流(压缩前)</param>
+            <param name="outStream">输出流(压缩后)</param>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipObjectByGZipStream(System.Byte[])">
+            <summary>
+            GZipStream解压
+            </summary>
+            <param name="data">解压前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipByGZipStream(System.Byte[])">
+            <summary>
+            GZipStream解压
+            </summary>
+            <param name="data">解压前</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipByGZipStream(System.Byte[],System.IO.Stream)">
+            <summary>
+            GZipStream解压
+            </summary>
+            <param name="data"></param>
+            <param name="outStream"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Systems.Zip.Ziper.UnzipByGZipStream(System.IO.Stream,System.IO.Stream)">
+            <summary>
+            GZipStream解压
+            </summary>
+            <param name="inStream">输入流(解压前)</param>
+            <param name="outStream">输出流(解压后)</param>
+        </member>
+        <member name="T:Curtain.Helpers.ImageHelper">
+            <summary>
+            图片操作类
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Tile(System.Drawing.Image,System.Drawing.Size,System.Drawing.ContentAlignment)">
+            <summary>
+            平铺
+            </summary>
+            <param name="image"></param>
+            <param name="size"></param>
+            <param name="alignment"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Tile(System.Drawing.Image,System.Drawing.Image,System.Nullable{System.Drawing.Rectangle},System.Drawing.ContentAlignment)">
+            <summary>
+            平铺
+            </summary>
+            <param name="image"></param>
+            <param name="targetImage"></param>
+            <param name="rectangle"></param>
+            <param name="alignment"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Tile(System.Drawing.Image,System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.ContentAlignment)">
+            <summary>
+            平铺
+            </summary>
+            <param name="image"></param>
+            <param name="graphics"></param>
+            <param name="rectangle"></param>
+            <param name="alignment"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Stretch(System.Drawing.Image,System.Drawing.Size)">
+            <summary>
+            拉伸
+            </summary>
+            <param name="image"></param>
+            <param name="size"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Stretch(System.Drawing.Image,System.Drawing.Image,System.Nullable{System.Drawing.Rectangle})">
+            <summary>
+            拉伸
+            </summary>
+            <param name="image"></param>
+            <param name="targetImage"></param>
+            <param name="rectangle"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Stretch(System.Drawing.Image,System.Drawing.Graphics,System.Drawing.Rectangle)">
+            <summary>
+            拉伸
+            </summary>
+            <param name="image"></param>
+            <param name="graphics"></param>
+            <param name="rectangle"></param>
+        </member>
+        <member name="T:Curtain.Helpers.ImageHelper.ZoomType">
+            <summary>
+            缩放(按比例)类型
+            </summary>
+        </member>
+        <member name="F:Curtain.Helpers.ImageHelper.ZoomType.Adaptive">
+            <summary>
+            自适应
+            </summary>
+        </member>
+        <member name="F:Curtain.Helpers.ImageHelper.ZoomType.Filled">
+            <summary>
+            比例填充(超出部分居中)
+            </summary>
+        </member>
+        <member name="F:Curtain.Helpers.ImageHelper.ZoomType.WidthRatio">
+            <summary>
+            按宽显示(超出部分居中)
+            </summary>
+        </member>
+        <member name="F:Curtain.Helpers.ImageHelper.ZoomType.HeightRatio">
+            <summary>
+            按高显示(超出部分居中)
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Zoom(System.Drawing.Image,System.Drawing.Size,Curtain.Helpers.ImageHelper.ZoomType)">
+            <summary>
+            缩放(按比例)
+            </summary>
+            <param name="image"></param>
+            <param name="size"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Zoom(System.Drawing.Image,System.Drawing.Image,System.Nullable{System.Drawing.Rectangle},Curtain.Helpers.ImageHelper.ZoomType)">
+            <summary>
+            缩放(按比例)
+            </summary>
+            <param name="image"></param>
+            <param name="targetImage"></param>
+            <param name="rectangle"></param>
+            <param name="type"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Zoom(System.Drawing.Image,System.Drawing.Graphics,System.Drawing.Rectangle,Curtain.Helpers.ImageHelper.ZoomType)">
+            <summary>
+            缩放(按比例)
+            </summary>
+            <param name="image"></param>
+            <param name="graphics"></param>
+            <param name="rectangle"></param>
+            <param name="type"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Cut(System.Drawing.Image,System.Drawing.Rectangle)">
+            <summary>
+            剪裁
+            </summary>
+            <param name="image"></param>
+            <param name="rectangle"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Show(System.Drawing.Image,System.Drawing.Size,System.Drawing.ContentAlignment,System.Boolean)">
+            <summary>
+            显示
+            </summary>
+            <param name="image"></param>
+            <param name="size"></param>
+            <param name="alignment"></param>
+            <param name="cut"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Show(System.Drawing.Image,System.Drawing.Image,System.Nullable{System.Drawing.Rectangle},System.Drawing.ContentAlignment,System.Boolean)">
+            <summary>
+            显示
+            </summary>
+            <param name="image"></param>
+            <param name="targetImage"></param>
+            <param name="rectangle"></param>
+            <param name="alignment"></param>
+            <param name="cut"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.Show(System.Drawing.Image,System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.ContentAlignment,System.Boolean)">
+            <summary>
+            显示
+            </summary>
+            <param name="image"></param>
+            <param name="graphics"></param>
+            <param name="rectangle"></param>
+            <param name="alignment"></param>
+            <param name="cut"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.ZipImage(System.Drawing.Image,System.Int64,System.Nullable{System.Drawing.Size})">
+            <summary>
+            压缩
+            </summary>
+            <param name="image"></param>
+            <param name="quality"></param>
+            <param name="size"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.GetEncoderInfo(System.String)">
+            <summary>
+            获取图片编码信息
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.MakeTransparent(System.Drawing.Graphics)">
+            <summary>
+            设置透明
+            </summary>
+            <param name="graphics"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.MakeTransparent(System.Drawing.Bitmap)">
+            <summary>
+            设置透明
+            </summary>
+            <param name="image"></param>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.MakeTransparentGif(System.Drawing.Bitmap,System.Drawing.Color)">
+            <summary> 
+            Returns a transparent background GIF image from the specified Bitmap. 
+            </summary> 
+            <param name="bitmap">The Bitmap to make transparent.</param> 
+            <param name="color">The Color to make transparent.</param> 
+            <returns>New Bitmap containing a transparent background gif.</returns> 
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.ZoomPixel(System.Drawing.Bitmap,System.Int32,System.Int32)">
+            <summary>
+            按像素放大整数倍
+            </summary>
+            <param name="image"></param>
+            <param name="ratioWidth"></param>
+            <param name="ratioHeight"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ImageHelper.SetGraphicsHighQuality(System.Drawing.Graphics)">
+            <summary>
+            
+            </summary>
+            <param name="graphics"></param>
+        </member>
+        <member name="T:Curtain.Helpers.ArrayHelper">
+            <summary>
+            集合类型扩展工具类
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.IsNullOrEmpty``1(``0[])">
+            <summary>
+            数组是null或0
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="values"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.IsNullOrEmpty``1(System.Collections.Generic.List{``0})">
+            <summary>
+            集合是null或0
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="values"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.ToArray``1(``0[])">
+            <summary>
+            转数组
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="values"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.ToArray``1(System.String,System.Char)">
+            <summary>
+            分割字符串
+            </summary>
+            <typeparam name="T"></typeparam>
+            <param name="value"></param>
+            <param name="separator"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.ToArray(System.String,System.Char)">
+            <summary>
+            分割字符串
+            </summary>
+            <param name="value"></param>
+            <param name="separator"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.ToKeyArray``2(System.Collections.Generic.Dictionary{``0,``1},System.Int32)">
+            <summary>
+            获得key类型数组
+            </summary>
+            <typeparam name="TKey"></typeparam>
+            <typeparam name="TValue"></typeparam>
+            <param name="dictionary"></param>
+            <param name="index"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.ToValueArray``2(System.Collections.Generic.Dictionary{``0,``1},System.Int32)">
+            <summary>
+            获得value类型数组
+            </summary>
+            <typeparam name="TKey"></typeparam>
+            <typeparam name="TValue"></typeparam>
+            <param name="dictionary"></param>
+            <param name="index"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ArrayHelper.Split(System.String,System.Char,System.String[])">
+            <summary>
+            分割字符串(包括分隔符的特殊字符串除外)
+            </summary>
+            <param name="value"></param>
+            <param name="separator"></param>
+            <param name="exceptStrs"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Helpers.ConvertHelper">
+            <summary>
+            转换工具
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.GetAmoutInWords(System.Decimal)">
+            <summary>
+            获取大写金额
+            </summary>
+            <param name="value">金额</param>
+            <returns>大写金额</returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.GetAmoutInWords(System.Double)">
+            <summary>
+            获取大写金额
+            </summary>
+            <param name="value">金额</param>
+            <returns>大写金额</returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.GetAmoutInWords(System.Single)">
+            <summary>
+            获取大写金额
+            </summary>
+            <param name="value">金额</param>
+            <returns>大写金额</returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.GetAmoutInWords(System.Int64)">
+            <summary>
+            获取大写金额
+            </summary>
+            <param name="value">金额</param>
+            <returns>大写金额</returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.GetAmoutInWords(System.Int32)">
+            <summary>
+            获取大写金额
+            </summary>
+            <param name="value">金额</param>
+            <returns>大写金额</returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBytes(System.Drawing.Image)">
+            <summary>
+            图片转换为byte数组
+            </summary>
+            <param name="image"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBytes(System.IO.Stream)">
+            <summary>
+            流转换为byte数组
+            </summary>
+            <param name="stream"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBytesFromBase64(System.String)">
+            <summary>
+            base64字符串转换为byte数组
+            </summary>
+            <param name="base64"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBytes(System.String)">
+            <summary>
+            字符串转换为byte数组(UTF8)
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBytes(System.String,System.Text.Encoding)">
+            <summary>
+            根据编码,将字符串转换为byte数组
+            </summary>
+            <param name="value"></param>
+            <param name="encode"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToImage(System.Byte[])">
+            <summary>
+            byte数组转换为图片
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToImage(System.String)">
+            <summary>
+            base64字符串转换为图片
+            </summary>
+            <param name="base64"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBase64(System.Drawing.Image)">
+            <summary>
+            图片转换为base64字符串
+            </summary>
+            <param name="image"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBase64(System.Byte[])">
+            <summary>
+            byte数组转换为base64字符串
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBase64(System.String)">
+            <summary>
+            字符串转换为base64字符串
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToString(System.String)">
+            <summary>
+            base64字符串转换为字符串
+            </summary>
+            <param name="base64"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToString(System.Byte[])">
+            <summary>
+            byte数组转换为字符串(UTF8)
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToString(System.Byte[],System.Text.Encoding)">
+            <summary>
+            根据编码,将byte数组转换为字符串
+            </summary>
+            <param name="bytes"></param>
+            <param name="encode"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToXString(System.Byte[])">
+            <summary>
+            byte数组转换为十六进制字符串
+            </summary>
+            <param name="bytes"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableInt32(System.Object)">
+            <summary>
+            将 object 转换为 int?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableInt64(System.Object)">
+            <summary>
+            将 object 转换为 long?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableSingle(System.Object)">
+            <summary>
+            将 object 转换为 float?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableDouble(System.Object)">
+            <summary>
+            将 object 转换为 double?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableDecimal(System.Object)">
+            <summary>
+            将 object 转换为 decimal?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableDateTime(System.Object)">
+            <summary>
+            将 object 转换为 DateTime?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableDateTime(System.String,System.String)">
+            <summary>
+            将 object 转换为 DateTime?
+            </summary>
+            <param name="value"></param>
+            <param name="format"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToNullableBoolean(System.Object)">
+            <summary>
+            将 object 转换为 bool?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ConvertHelper.ToBoolean(System.Object)">
+            <summary>
+            将 object 转换为 bool
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Helpers.INIHelper">
+            <summary>
+            ini 文件操作工具
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.INIHelper.Write(System.String,System.String,System.String,System.String)">
+            <summary>
+            写入INI文件
+            </summary>
+            <param name="section">要写入的段落名</param>
+            <param name="key">要写入的键,如果该key存在则覆盖写入</param>
+            <param name="value">key所对应的值</param>
+            <param name="filePath">INI文件的完整路径和文件名</param>
+            <returns>写入结果</returns>
+        </member>
+        <member name="M:Curtain.Helpers.INIHelper.Read(System.String,System.String,System.String)">
+            <summary>
+            读取INI文件
+            </summary>
+            <param name="section">要读取的段落名</param>
+            <param name="key">要读取的键</param>
+            <param name="filePath">INI文件的完整路径和文件名</param>
+            <returns>读取结果</returns>
+        </member>
+        <member name="F:Curtain.Helpers.INIHelper._filePath">
+            <summary>
+            文件路径
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.INIHelper.#ctor(System.String)">
+            <summary>
+            构造
+            </summary>
+            <param name="filePath">INI文件的完整路径和文件名</param>
+        </member>
+        <member name="M:Curtain.Helpers.INIHelper.IniFile(System.String)">
+            <summary>
+            创建INI文件操作对象
+            </summary>
+            <param name="filePath">INI文件的完整路径和文件名</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.INIHelper.Write(System.String,System.String,System.String)">
+            <summary>
+            写入INI文件
+            </summary>
+            <param name="section">要写入的段落名</param>
+            <param name="key">要写入的键,如果该key存在则覆盖写入</param>
+            <param name="value">key所对应的值</param>
+            <returns>写入结果</returns>
+        </member>
+        <member name="M:Curtain.Helpers.INIHelper.Read(System.String,System.String)">
+            <summary>
+            读取INI文件
+            </summary>
+            <param name="section">要读取的段落名</param>
+            <param name="key">要读取的键</param>
+            <returns>读取结果</returns>
+        </member>
+        <member name="M:Curtain.Helpers.INIHelper.TryRead(System.String,System.String,System.String@)">
+            <summary>
+            读取INI文件
+            </summary>
+            <param name="section"></param>
+            <param name="key"></param>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Helpers.ObjectHelper">
+            <summary>
+            对象工具
+            </summary>
+        </member>
+        <member name="M:Curtain.Helpers.ObjectHelper.IsNullOrDBNull(System.Object)">
+            <summary>
+            指示对象是 null 还是 DBNull
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Helpers.ObjectHelper.CreateInstance(System.Type,System.Object[])">
+            <summary>
+            反射创建实例
+            </summary>
+            <param name="type">类型</param>
+            <param name="args">参数</param>
+            <returns>实例</returns>
+        </member>
+        <member name="M:Curtain.Helpers.ObjectHelper.CreateInstance``1(System.Object[])">
+            <summary>
+            反射创建实例
+            </summary>
+            <param name="args">参数</param>
+            <returns>实例</returns>
+        </member>
+        <member name="T:Curtain.Core.ObjectExtension">
+            <summary>
+            扩展工具类
+            </summary>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.IsNullOrDBNull(System.Object)">
+            <summary>
+            指示对象是 null 还是 DBNull
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToInt32(System.Object)">
+            <summary>
+            将 object 转换为 int
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToInt64(System.Object)">
+            <summary>
+            将 object 转换为 long
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToSingle(System.Object)">
+            <summary>
+            将 object 转换为 float
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToDouble(System.Object)">
+            <summary>
+            将 object 转换为 double
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToDecimal(System.Object)">
+            <summary>
+            将 object 转换为 decimal
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToDateTime(System.Object)">
+            <summary>
+            将 object 转换为 DateTime
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToBoolean(System.Object)">
+            <summary>
+            将 object 转换为 bool
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableInt32(System.Object)">
+            <summary>
+            将 object 转换为 int?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableInt64(System.Object)">
+            <summary>
+            将 object 转换为 long?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableSingle(System.Object)">
+            <summary>
+            将 object 转换为 float?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableDouble(System.Object)">
+            <summary>
+            将 object 转换为 double?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableDecimal(System.Object)">
+            <summary>
+            将 object 转换为 decimal?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableDateTime(System.Object)">
+            <summary>
+            将 object 转换为 DateTime?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableBoolean(System.Object)">
+            <summary>
+            将 object 转换为 bool?
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.IsNullOrEmpty(System.String)">
+            <summary>
+            指示指定的字符串是 null 还是空字符串 ("")
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.IsNullOrWhiteSpace(System.String)">
+            <summary>
+            指示指定的字符串是 null、空还是仅由空白字符组成
+            </summary>
+            <param name="value"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToNullableDateTime(System.String,System.String)">
+            <summary>
+            将 object 转换为 DateTime?
+            </summary>
+            <param name="value"></param>
+            <param name="format"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.IsNullOrEmpty``1(``0[])">
+            <summary>
+            数组是null或0
+            </summary>
+            <param name="values"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.IsNullOrEmpty``1(System.Collections.Generic.List{``0})">
+            <summary>
+            集合是null或0
+            </summary>
+            <param name="values"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToKeyArray``2(System.Collections.Generic.Dictionary{``0,``1},System.Int32)">
+            <summary>
+            获得key类型数组
+            </summary>
+            <param name="dictionary"></param>
+            <param name="index"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.ToValueArray``2(System.Collections.Generic.Dictionary{``0,``1},System.Int32)">
+            <summary>
+            获得value类型数组
+            </summary>
+            <param name="dictionary"></param>
+            <param name="index"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.HasData(System.Data.DataSet)">
+            <summary>
+            是否有数据
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Core.ObjectExtension.HasData(System.Data.DataTable)">
+            <summary>
+            是否有数据
+            </summary>
+            <param name="data"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Log.Logger">
+            <summary>
+            日志记录器
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.Logger.DefaultLogDirectory">
+            <summary>
+            默认日志路径
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.Logger.DefaultLogEextension">
+            <summary>
+            默认LOG文件扩展名
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.DefaultLogger">
+            <summary>
+            默认logger
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.LoggerLevels">
+            <summary>
+            全局日志输出级别
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.SubFolderFormat">
+            <summary>
+            日志输出文件夹(Logs的子文件夹)
+            (&lt;date&gt;为当前日期 &lt;name&gt; &lt;prefix&gt; &lt;suffix&gt;)
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.Levels">
+            <summary>
+            日志输出级别
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.Directory">
+            <summary>
+            日志根目录
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.Extension">
+            <summary>
+            扩展名
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.Name">
+            <summary>
+            日志工具名
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.FilePrefix">
+            <summary>
+            日志文件前缀
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.FileSuffix">
+            <summary>
+            日志文件后缀
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.LevelOneFile">
+            <summary>
+            不同级别(info、trace、debug、warn、error)输出到同一个文件
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.FileNameWithoutDate">
+            <summary>
+            在日志文件名中忽略日期
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.StackFrameIndex">
+            <summary>
+            异常输出时,定位异常所在方法。(默认0,logger方法所在方法)
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.FileExistDays">
+            <summary>
+            日志保留天数(0不删除)
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.Logger.FileMaxSize">
+            <summary>
+            单个日志文件最大容量(单位m,0不限制)
+            </summary>
+        </member>
+        <member name="M:Curtain.Log.Logger.CreateLogger(System.String,Curtain.Log.LogInfo,System.Boolean)">
+            <summary>
+            创建新的日志
+            </summary>
+            <param name="logger"></param>
+            <param name="logInfo"></param>
+            <param name="allwaysInfo"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Log.Logger.SetLogInfo(Curtain.Log.Logger,Curtain.Log.LogInfo)">
+            <summary>
+            设置log输出规则
+            </summary>
+            <param name="log"></param>
+            <param name="info"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.GetLogInfo(Curtain.Log.Logger)">
+            <summary>
+            获取log输出规则
+            </summary>
+            <param name="log"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Log.Logger.SetLogInfo(Curtain.Log.LogInfo)">
+            <summary>
+            设置log输出规则
+            </summary>
+            <param name="info"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.GetLogInfo">
+            <summary>
+            获取log输出规则
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Log.Logger.Exists(System.String)">
+            <summary>
+            Logger 是否存在
+            </summary>
+            <param name="loggerName"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Log.Logger.GetLogger(System.String)">
+            <summary>
+            根据logname获得logger,不存在时null。
+            </summary>
+            <param name="loggerName"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Log.Logger.Info(System.String,System.String,Curtain.Log.LogInfo,System.Boolean)">
+            <summary>
+            信息输出
+            </summary>
+            <param name="message"></param>
+            <param name="logger"></param>
+            <param name="logInfo"></param>
+            <param name="allwaysInfo"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.Trace(System.String,System.String,Curtain.Log.LogInfo,System.Boolean)">
+            <summary>
+            跟踪输出
+            </summary>
+            <param name="message"></param>
+            <param name="logger"></param>
+            <param name="logInfo"></param>
+            <param name="allwaysInfo"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.Debug(System.String,System.String,Curtain.Log.LogInfo,System.Boolean)">
+            <summary>
+            调试输出
+            </summary>
+            <param name="message"></param>
+            <param name="logger"></param>
+            <param name="logInfo"></param>
+            <param name="allwaysInfo"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.Warn(System.String,System.String,Curtain.Log.LogInfo,System.Boolean)">
+            <summary>
+            警告输出
+            </summary>
+            <param name="message"></param>
+            <param name="logger"></param>
+            <param name="logInfo"></param>
+            <param name="allwaysInfo"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.Error(System.Exception,System.String,System.String,Curtain.Log.LogInfo,System.Boolean)">
+            <summary>
+            错误输出
+            </summary>
+            <param name="ex"></param>
+            <param name="message"></param>
+            <param name="logger"></param>
+            <param name="logInfo"></param>
+            <param name="allwaysInfo"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.Error(System.Int32,System.Exception,System.String,System.String,Curtain.Log.LogInfo,System.Boolean)">
+            <summary>
+            错误输出
+            </summary>
+            <param name="index"></param>
+            <param name="ex"></param>
+            <param name="message"></param>
+            <param name="logger"></param>
+            <param name="logInfo"></param>
+            <param name="allwaysInfo"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.OutputInfo(System.String)">
+            <summary>
+            信息输出
+            </summary>
+            <param name="message"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.OutputTrace(System.String)">
+            <summary>
+            跟踪输出
+            </summary>
+            <param name="message"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.OutputDebug(System.String)">
+            <summary>
+            调试输出
+            </summary>
+            <param name="message"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.OutputWarn(System.String)">
+            <summary>
+            警告输出
+            </summary>
+            <param name="message"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.OutputError(System.Exception,System.String,System.Int32)">
+            <summary>
+            错误输出
+            </summary>
+            <param name="ex"></param>
+            <param name="message"></param>
+            <param name="index"></param>
+        </member>
+        <member name="M:Curtain.Log.Logger.DeleteExpiredLogFile(System.Object)">
+            <summary>
+            删除过期日志文件
+            </summary>
+            <param name="state"></param>
+        </member>
+        <member name="T:Curtain.Log.LoggerLevel">
+            <summary>
+            日志输出级别
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.LoggerLevel.None">
+            <summary>
+            无
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.LoggerLevel.Error">
+            <summary>
+            错误
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.LoggerLevel.Warn">
+            <summary>
+            警告
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.LoggerLevel.Debug">
+            <summary>
+            调试
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.LoggerLevel.Trace">
+            <summary>
+            跟踪
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.LoggerLevel.Info">
+            <summary>
+            消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Log.LoggerLevel.ALL">
+            <summary>
+            全部
+            </summary>
+        </member>
+        <member name="T:Curtain.Log.LogInfo">
+            <summary>
+            日志输出控制属性
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.SubFolderFormat">
+            <summary>
+            日志输出文件夹(Logs的子文件夹)
+            (&lt;date&gt;为当前日期 &lt;name&gt; &lt;prefix&gt; &lt;suffix&gt;)
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.Levels">
+            <summary>
+            日志输出级别
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.Directory">
+            <summary>
+            日志根目录
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.Extension">
+            <summary>
+            扩展名
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.FilePrefix">
+            <summary>
+            日志文件前缀
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.FileSuffix">
+            <summary>
+            日志文件后缀
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.LevelOneFile">
+            <summary>
+            不同级别(info、trace、debug、warn、error)输出到同一个文件
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.FileNameWithoutDate">
+            <summary>
+            在日志文件名中忽略日期
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.StackFrameIndex">
+            <summary>
+            异常输出时,定位异常所在方法。(默认0,logger方法所在方法)
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.FileExistDays">
+            <summary>
+            日志保留天数(0不删除)
+            </summary>
+        </member>
+        <member name="P:Curtain.Log.LogInfo.FileMaxSize">
+            <summary>
+            单个日志文件最大容量(单位m,0不限制)
+            </summary>
+        </member>
+        <member name="T:Curtain.Windows.AnimateWindow">
+            <summary>
+            窗体动画效果
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.DWTime">
+            <summary>
+            动画时长
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.AnimateWindow.Show(System.Windows.Forms.IWin32Window,Curtain.Windows.AnimateWindow.AnimateType)">
+            <summary>
+            显示
+            </summary>
+            <param name="owner"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.AnimateWindow.Hide(System.Windows.Forms.IWin32Window,Curtain.Windows.AnimateWindow.AnimateType)">
+            <summary>
+            隐藏
+            </summary>
+            <param name="owner"></param>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Windows.AnimateWindow.AnimateType">
+            <summary>
+            窗体动画效果
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.BLEND">
+            <summary>
+            淡入淡出
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.RLIDE_CENTER">
+            <summary>
+            滚动(中心)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.RLIDE_HOR_POSITIVE">
+            <summary>
+            滚动(自左向右)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.RLIDE_HOR_NEGATIVE">
+            <summary>
+            滚动(自右向左)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.RLIDE_VER_POSITIVE">
+            <summary>
+            滚动(自上向下)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.RLIDE_VER_NEGATIVE">
+            <summary>
+            滚动(自下向上)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.SLIDE_HOR_POSITIVE">
+            <summary>
+            滑动(自左向右)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.SLIDE_HOR_NEGATIVE">
+            <summary>
+            滑动(自右向左)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.SLIDE_VER_POSITIVE">
+            <summary>
+            滑动(自上向下)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.AnimateWindow.AnimateType.SLIDE_VER_NEGATIVE">
+            <summary>
+            滑动(自下向上)
+            </summary>
+        </member>
+        <member name="T:Curtain.Windows.ApplicationInformation">
+            <summary>
+            应用程序相关信息
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ApplicationInformation.StartupPath">
+            <summary>
+            获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称[d:\xxxx]
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ApplicationInformation.StartupDirectory">
+            <summary>
+            获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称[d:\xxxx\]
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ApplicationInformation.ExecutablePath">
+            <summary>
+            获取启动了应用程序的可执行文件的路径,包括可执行文件的名称[d:\xxxx\xxx.exe]
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAbsolutePath(System.String)">
+            <summary>
+            根据应用程序的相对路径,获得绝对路径。
+            </summary>
+            <param name="relativePath">相对路径</param>
+            <returns>绝对路径</returns>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAbsolutePath(System.Reflection.Assembly,System.String)">
+            <summary>
+            程序集绝对路径
+            </summary>
+            <param name="assembly"></param>
+            <param name="relativePath"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAssemblyDirectory(System.Reflection.Assembly,System.Boolean)">
+            <summary>
+            程序集所在目录
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAssemblyVersion">
+            <summary>
+            获取主程序集版本
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAssemblyFileVersion">
+            <summary>
+            获取主程序集文件版本
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAssemblyInformationalVersion">
+            <summary>
+            获取主程序集系统版本
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAssemblyVersion(System.Reflection.Assembly)">
+            <summary>
+            获取程序集版本
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAssemblyFileVersion(System.Reflection.Assembly)">
+            <summary>
+            获取程序集文件版本
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.ApplicationInformation.GetAssemblyInformationalVersion(System.Reflection.Assembly)">
+            <summary>
+            获取程序集系统版本
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Windows.ComputerInformation">
+            <summary>
+            计算机相关信息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.ComputerInformation.CONNCHAR">
+            <summary>
+            默认MAC地址连接字符
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.Name">
+            <summary>
+            获取本地计算机的 NetBIOS 计算机名称
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.DomainName">
+            <summary>
+            获取用户所属的域的名称
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.UserName">
+            <summary>
+            获取与当前线程相关联的用户名
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.NetworkInterfaces">
+            <summary>
+            获取当前系统的网络连接的信息
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.MacAddress">
+            <summary>
+            获取当前系统所启用的网络连接的MAC地址
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.AllMacAddress">
+            <summary>
+            获取当前系统所有的MAC地址
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.ComputerInformation.GetMacAddress(System.String,System.Nullable{System.Net.NetworkInformation.OperationalStatus})">
+            <summary>
+            获取MAC地址
+            </summary>
+            <param name="connchar">MAC地址连接字符</param>
+            <param name="operationalStatus">MAC地址状态</param>
+            <returns>MAC地址</returns>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.IP4Address">
+            <summary>
+            获取当前系统所启用的网络连接的IP4地址
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.NetCardsByWMI">
+            <summary>
+            通过WMI获取系统信息里的MAC及IP地址
+            </summary>
+        </member>
+        <member name="P:Curtain.Windows.ComputerInformation.UUID">
+            <summary>
+            UUID
+            </summary>
+        </member>
+        <member name="T:Curtain.Windows.NetCard">
+            <summary>
+            网卡信息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.NetCard.Mac">
+            <summary>
+            MAC地址
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.NetCard.IP4">
+            <summary>
+            IP4地址
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.NetCard.IP6">
+            <summary>
+            IP6地址
+            </summary>
+        </member>
+        <member name="T:Curtain.Windows.BeepType">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.BeepType.MB_OK">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.BeepType.MB_ICONHAND">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.BeepType.MB_ICONQUESTION">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.BeepType.MB_ICONEXCLAMATION">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.BeepType.MB_ICONASTERISK">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="T:Curtain.Windows.Win32">
+            <summary>
+            组件调用
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.Win32.GetWindow(System.IntPtr,System.Int32)">
+            <summary>
+            GetWindow
+            </summary>
+            <param name="hWnd"></param>
+            <param name="uCmd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.GetWindow(System.Runtime.InteropServices.HandleRef,System.Int32)">
+            <summary>
+            GetWindow
+            </summary>
+            <param name="hWnd"></param>
+            <param name="uCmd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.GetDC(System.IntPtr)">
+            <summary>
+            GetDC
+            </summary>
+            <param name="hwnd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.GetWindowDC(System.IntPtr)">
+            <summary>
+            GetWindowDC
+            </summary>
+            <param name="hWnd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.ReleaseDC(System.IntPtr,System.IntPtr)">
+            <summary>
+            ReleaseDC
+            </summary>
+            <param name="hWnd"></param>
+            <param name="hDC"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.FindWindow(System.String,System.String)">
+            <summary>
+            FindWindow
+            </summary>
+            <param name="lpClassName"></param>
+            <param name="lpWindowName"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.FindWindowEx(System.IntPtr,System.IntPtr,System.String,System.String)">
+            <summary>
+            FindWindowEx
+            </summary>
+            <param name="hwndParent"></param>
+            <param name="hwndChildAfter"></param>
+            <param name="lpszClass"></param>
+            <param name="lpszWindow"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.SetForegroundWindow(System.IntPtr)">
+            <summary>
+            SetForegroundWindow
+            </summary>
+            <param name="hWnd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.GetForegroundWindow">
+            <summary>
+            GetForegroundWindow
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.ShowWindowAsync(System.IntPtr,System.Int32)">
+            <summary>
+            ShowWindowAsync
+            </summary>
+            <param name="hWnd"></param>
+            <param name="nCmdShow"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.IsIconic(System.IntPtr)">
+            <summary>
+            IsIconic
+            </summary>
+            <param name="hWnd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.IsWindowEnabled(System.IntPtr)">
+            <summary>
+            IsWindowEnabled
+            </summary>
+            <param name="hWnd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.IsWindowVisible(System.IntPtr)">
+            <summary>
+            IsWindowVisible
+            </summary>
+            <param name="hWnd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.EnableWindow(System.IntPtr,System.Boolean)">
+            <summary>
+            EnableWindow
+            </summary>
+            <param name="hwnd"></param>
+            <param name="bEnable"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.Win32.AnimateWindow(System.IntPtr,System.Int32,System.Int32)">
+            <summary>
+            AnimateWindow
+            </summary>
+            <param name="hwnd"></param>
+            <param name="dwTime"></param>
+            <param name="dwFlags"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Windows.WindowsAPI">
+            <summary>
+            WINDOWS API调用,或者调用动态链接库(DLL)里的函数
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsAPI.NullHandleRef">
+            <summary>
+            空句柄
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.GetWindow(System.IntPtr,System.Int32)">
+            <summary>
+            获取窗口(控件)
+            </summary>
+            <param name="hWnd">窗口句柄</param>
+            <param name="uCmd"></param>
+            <returns>窗口DC</returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.GetWindow(System.Runtime.InteropServices.HandleRef,System.Int32)">
+            <summary>
+            获取窗口(控件)
+            </summary>
+            <param name="hWnd"></param>
+            <param name="uCmd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.GetWindowDC(System.IntPtr)">
+            <summary>
+            获取窗口DC
+            </summary>
+            <param name="hWnd">窗口句柄</param>
+            <returns>窗口DC</returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.FindWindow(System.String,System.String)">
+            <summary>
+            获取窗口
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.FindWindowEx(System.IntPtr,System.IntPtr,System.String,System.String)">
+            <summary>
+            获取窗口
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.GetForegroundWindow">
+            <summary>
+            获取当前窗口
+            </summary>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.WakeupWindow(System.IntPtr)">
+            <summary>
+            激活窗口
+            </summary>
+            <param name="hWnd"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.ReleaseDC(System.IntPtr,System.IntPtr)">
+            <summary>
+            释放窗口DC
+            </summary>
+            <param name="hWnd">窗口句柄</param>
+            <param name="hDC">窗口DC</param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.MessageBeep(Curtain.Windows.BeepType)">
+            <summary>
+            提示音
+            </summary>
+            <param name="type"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.SendMessage(System.Windows.Forms.Control,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            SendMessage
+            </summary>
+            <param name="c">Control</param>
+            <param name="msg"></param>
+            <param name="wParam"></param>
+            <param name="lParam"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.SendMessage(System.IntPtr,System.Int32,System.Int32,System.Int32)">
+            <summary>
+            SendMessage
+            </summary>
+            <param name="hWnd"></param>
+            <param name="msg"></param>
+            <param name="wParam"></param>
+            <param name="lParam"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.WriteINI(System.String,System.String,System.String,System.String)">
+            <summary>
+            写入INI文件
+            </summary>
+            <param name="section">要写入的段落名</param>
+            <param name="key">要写入的键,如果该key存在则覆盖写入</param>
+            <param name="value">key所对应的值</param>
+            <param name="filePath">INI文件的完整路径和文件名</param>
+            <returns>写入结果</returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.WriteINI(System.String,System.String,System.String,System.String,System.Text.Encoding)">
+            <summary>
+            写入INI文件
+            </summary>
+            <param name="section"></param>
+            <param name="key"></param>
+            <param name="value"></param>
+            <param name="filePath"></param>
+            <param name="encoding"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.ReadINI(System.String,System.String,System.String,System.String@,System.Int32,System.String)">
+            <summary>
+            读取INI文件
+            </summary>
+            <param name="section">要读取的段落名</param>
+            <param name="key">要读取的键</param>
+            <param name="defValue">读取异常的情况下的缺省值</param>
+            <param name="refValue">key所对应的值,如果该key不存在则返回空值</param>
+            <param name="size">值允许的大小</param>
+            <param name="filePath">INI文件的完整路径和文件名</param>
+            <returns>读取结果</returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.ReadINI(System.String,System.String,System.String,System.String@,System.Int32,System.String,System.Text.Encoding)">
+            <summary>
+            读取INI文件
+            </summary>
+            <param name="section"></param>
+            <param name="key"></param>
+            <param name="defValue"></param>
+            <param name="refValue"></param>
+            <param name="size"></param>
+            <param name="filePath"></param>
+            <param name="encoding"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Curtain.Windows.WindowsAPI.KeysToChar(System.Windows.Forms.Keys)">
+            <summary>
+            Keys To Char
+            </summary>
+            <param name="key"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Curtain.Windows.WindowsMessage">
+            <summary>
+            windows系统消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NULL">
+            <summary>
+            NULL消息[0-0x0000]
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CREATE">
+            <summary>
+            创建一个窗口[1-0x0001]
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_DESTROY">
+            <summary>
+            销毁一个窗口[2-0x0002]
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MOVE">
+            <summary>
+            移动一个窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SIZEWAIT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SIZE">
+            <summary>
+            改变一个窗口的大小
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ACTIVATE">
+            <summary>
+            激活或失去激活一个窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETFOCUS">
+            <summary>
+            一个窗口获得焦点
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_KILLFOCUS">
+            <summary>
+            一个窗口失去焦点
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETVISIBLE">
+            <summary>
+            一个窗口改变成VISIBLE状态
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ENABLE">
+            <summary>
+            一个窗口改变成Enable状态
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETREDRAW">
+            <summary>
+            设置窗口是否能重画
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETTEXT">
+            <summary>
+            应用程序发送此消息来设置一个窗口的文本
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_GETTEXT">
+            <summary>
+            应用程序发送此消息来复制对应窗口的文本到缓冲区
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_GETTEXTLENGTH">
+            <summary>
+            得到与一个窗口有关的文本的长度(不包含空字符)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_PAINT">
+            <summary>
+            要求一个窗口重画自己
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CLOSE">
+            <summary>
+            当一个窗口或应用程序要关闭时发送一个信号
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_QUERYENDSESSION">
+            <summary>
+            当用户选择结束对话框或程序自己调用ExitWindows函数
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_QUIT">
+            <summary>
+            用来结束程序运行
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_QUERYOPEN">
+            <summary>
+            当用户窗口恢复以前的大小位置时,把此消息发送给某个图标
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ERASEBKGND">
+            <summary>
+            当窗口背景必须被擦除时(例在窗口改变大小时)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSCOLORCHANGE">
+            <summary>
+            当系统颜色改变时,发送此消息给所有顶级窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ENDSESSION">
+            <summary>
+            当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序,通知它对话是否结束
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSTEMERROR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SHOWWINDOW">
+            <summary>
+            当隐藏或显示窗口是发送此消息给这个窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLOR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_WININICHANGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_DEVMODECHANGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ACTIVATEAPP">
+            <summary>
+            发此消息给应用程序哪个窗口是激活的,哪个是非激活的
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_FONTCHANGE">
+            <summary>
+            当系统的字体资源库变化时发送此消息给所有顶级窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TIMECHANGE">
+            <summary>
+            当系统的时间变化时发送此消息给所有顶级窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CANCELMODE">
+            <summary>
+            发送此消息来取消某种正在进行的摸态(操作)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETCURSOR">
+            <summary>
+            如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消息给某个窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MOUSEACTIVATE">
+            <summary>
+            当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给//当前窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CHILDACTIVATE">
+            <summary>
+            发送此消息给MDI子窗口//当用户点击此窗口的标题栏,或//当窗口被激活,移动,改变大小
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_QUEUESYNC">
+            <summary>
+            此消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACK的hook程序分离出用户输入消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_GETMINMAXINFO">
+            <summary>
+            此消息发送给窗口当它将要改变大小或位置
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_PAINTICON">
+            <summary>
+            发送给最小化窗口当它图标将要被重画
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ICONERASEBKGND">
+            <summary>
+            此消息发送给某个最小化窗口,仅//当它在画图标前它的背景必须被重画
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NEXTDLGCTL">
+            <summary>
+            发送此消息给一个对话框程序去更改焦点位置
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ALTTABACTIVE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SPOOLERSTATUS">
+            <summary>
+            每当打印管理列队增加或减少一条作业时发出此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_DRAWITEM">
+            <summary>
+            当button,combobox,listbox,menu的可视外观改变时发送
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MEASUREITEM">
+            <summary>
+            当button, combo box, list box, list view control, or menu item 被创建时
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_DELETEITEM">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_VKEYTOITEM">
+            <summary>
+            此消息有一个LBS_WANTKEYBOARDINPUT风格的发出给它的所有者来响应WM_KEYDOWN消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CHARTOITEM">
+            <summary>
+            此消息由一个LBS_WANTKEYBOARDINPUT风格的列表框发送给他的所有者来响应WM_CHAR消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETFONT">
+            <summary>
+            当绘制文本时程序发送此消息得到控件要用的颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_GETFONT">
+            <summary>
+            应用程序发送此消息得到当前控件绘制文本的字体
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETHOTKEY">
+            <summary>
+            应用程序发送此消息让一个窗口与一个热键相关连
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_GETHOTKEY">
+            <summary>
+            应用程序发送此消息来判断热键与某个窗口是否有关联
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_FILESYSCHANGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ISACTIVEICON">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_QUERYPARKICON">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_QUERYDRAGICON">
+            <summary>
+            此消息发送给最小化窗口,当此窗口将要被拖放而它的类中没有定义图标,
+            应用程序能返回一个图标或光标的句柄,当用户拖放图标时系统显示这个图标或光标
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_WINHELP">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_COMPAREITEM">
+            <summary>
+            发送此消息来判定combobox或listbox新增加的项的相对位置
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_FULLSCREEN">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CLIENTSHUTDOWN">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_DDEMLEVENT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.MM_CALCSCROLL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TESTING">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_COMPACTING">
+            <summary>
+            显示内存已经很少了
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_OTHERWINDOWCREATED">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_OTHERWINDOWDESTROYED">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_COMMNOTIFY">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MEDIASTATUSCHANGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_WINDOWPOSCHANGING">
+            <summary>
+            发送此消息给那个窗口的大小和位置将要被改变时,来调用setwindowpos函数或其它窗口管理函数
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_WINDOWPOSCHANGED">
+            <summary>
+            发送此消息给那个窗口的大小和位置已经被改变时,来调用setwindowpos函数或其它窗口管理函数
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_POWER">
+            <summary>
+            当系统将要进入暂停状态时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_COPYGLOBALDATA">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_COPYDATA">
+            <summary>
+            当一个应用程序传递数据给另一个应用程序时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CANCELJOURNAL">
+            <summary>
+            当某个用户取消程序日志激活状态,提交此消息给程序
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_LOGONNOTIFY">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_KEYF1">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NOTIFY">
+            <summary>
+            当某个控件的某个事件已经发生或这个控件需要得到一些信息时,发送此消息给它的父窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ACCESS_WINDOW">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_INPUTLANGCHANGEREQUEST">
+            <summary>
+            当用户选择某种输入语言,或输入语言的热键改变
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_INPUTLANGCHANGE">
+            <summary>
+            当平台现场已经被改变后发送此消息给受影响的最顶级窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TCARD">
+            <summary>
+            当程序已经初始化windows帮助例程时发送此消息给应用程序
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_HELP">
+            <summary>
+            此消息显示用户按下了F1,如果某个菜单是激活的,就发送此消息个此窗口关联的菜单,
+            否则就发送给有焦点的窗口,如果//当前都没有焦点,就把此消息发送给//当前激活的窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_USERCHANGED">
+            <summary>
+            当用户已经登入或退出后发送此消息给所有的窗口,
+            当用户登入或退出时系统更新用户的具体设置信息,在用户更新设置时系统马上发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NOTIFYFORMAT">
+            <summary>
+            公用控件,自定义控件和他们的父窗口通过此消息来判断控件是使用ANSI还是UNICODE结构
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_FINALDESTROY">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TASKACTIVATED">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TASKDEACTIVATED">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TASKCREATED">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TASKDESTROYED">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TASKUICHANGED">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TASKVISIBLE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TASKNOTVISIBLE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETCURSORINFO">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CONTEXTMENU">
+            <summary>
+            当用户某个窗口中点击了一下右键就发送此消息给这个窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_STYLECHANGING">
+            <summary>
+            当调用SETWINDOWLONG函数将要改变一个或多个 窗口的风格时发送此消息给那个窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_STYLECHANGED">
+            <summary>
+            当调用SETWINDOWLONG函数一个或多个 窗口的风格后发送此消息给那个窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_DISPLAYCHANGE">
+            <summary>
+            当显示器的分辨率改变后发送此消息给所有的窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_GETICON">
+            <summary>
+            此消息发送给某个窗口来返回与某个窗口有关连的大图标或小图标的句柄
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SETICON">
+            <summary>
+            程序发送此消息让一个新的大图标或小图标与某个窗口关联
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCCREATE">
+            <summary>
+            当某个窗口第一次被创建时,此消息在WM_CREATE消息发送前发送
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCDESTROY">
+            <summary>
+            此消息通知某个窗口,非客户区正在销毁
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCCALCSIZE">
+            <summary>
+            当某个窗口的客户区域必须被核算时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCHITTEST">
+            <summary>
+            移动鼠标,按住或释放鼠标时发生
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCPAINT">
+            <summary>
+            程序发送此消息给某个窗口当它(窗口)的框架必须被绘制时
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCACTIVATE">
+            <summary>
+            此消息发送给某个窗口仅当它的非客户区需要被改变来显示是激活还是非激活状态
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_GETDLGCODE">
+            <summary>
+            发送此消息给某个与对话框程序关联的控件,widdows控制方位键和TAB键使输入进入此控件通过应
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYNCPAINT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYNCTASK">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_KLUDGEMINRECT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_LPKDRAWSWITCHWND">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCMOUSEMOVE">
+            <summary>
+            当光标在一个窗口的非客户区内移动时发送此消息给这个窗口 非客户区为:窗体的标题栏及窗 的边框体
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCLBUTTONDOWN">
+            <summary>
+            当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCLBUTTONUP">
+            <summary>
+            当用户释放鼠标左键同时光标某个窗口在非客户区十发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCLBUTTONDBLCLK">
+            <summary>
+            当用户双击鼠标左键同时光标某个窗口在非客户区十发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCRBUTTONDOWN">
+            <summary>
+            当用户按下鼠标右键同时光标又在窗口的非客户区时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCRBUTTONUP">
+            <summary>
+            当用户释放鼠标右键同时光标又在窗口的非客户区时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCRBUTTONDBLCLK">
+            <summary>
+            当用户双击鼠标右键同时光标某个窗口在非客户区十发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCMBUTTONDOWN">
+            <summary>
+            当用户按下鼠标中键同时光标又在窗口的非客户区时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCMBUTTONUP">
+            <summary>
+            当用户释放鼠标中键同时光标又在窗口的非客户区时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_NCMBUTTONDBLCLK">
+            <summary>
+            当用户双击鼠标中键同时光标又在窗口的非客户区时发送此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETSEL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETSEL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETRECT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETRECT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETRECTNP">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SCROLL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_LINESCROLL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETMODIFY">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETMODIFY">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETLINECOUNT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_LINEINDEX">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETHANDLE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETHANDLE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETTHUMB">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_LINELENGTH">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_REPLACESEL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETFONT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETLINE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_LIMITTEXT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_CANUNDO">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_UNDO">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_FMTLINES">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_LINEFROMCHAR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETWORDBREAK">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETTABSTOPS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETPASSWORDCHAR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_EMPTYUNDOBUFFER">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETFIRSTVISIBLELINE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETREADONLY">
+            <summary>
+            EDIT控件 READONLY 属性
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETWORDBREAKPROC">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETWORDBREAKPROC">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETPASSWORDCHAR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETMARGINS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETMARGINS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETLIMITTEXT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_POSFROMCHAR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_CHARFROMPOS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_SETIMESTATUS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_GETIMESTATUS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.EM_MSGMAX">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_SETPOS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_GETPOS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_SETRANGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_GETRANGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_ENABLE_ARROWS">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_SETRANGEREDRAW">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_SETSCROLLINFO">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.SBM_GETSCROLLINFO">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_GETCHECK">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_SETCHECK">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_GETSTATE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_SETSTATE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_SETSTYLE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_CLICK">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_GETIMAGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.BM_SETIMAGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_KEYDOWN">
+            <summary>
+            WM_KEYDOWN 按下一个键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_KEYUP">
+            <summary>
+            释放一个键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CHAR">
+            <summary>
+            按下某键,并已发出WM_KEYDOWN, WM_KEYUP消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_DEADCHAR">
+            <summary>
+            当用translatemessage函数翻译WM_KEYUP消息时发送此消息给拥有焦点的窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSKEYDOWN">
+            <summary>
+            当用户按住ALT键同时按下其它键时提交此消息给拥有焦点的窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSKEYUP">
+            <summary>
+            当用户释放一个键同时ALT 键还按着时提交此消息给拥有焦点的窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSCHAR">
+            <summary>
+            当WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函数翻译后提交此消息给拥有焦点的窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSDEADCHAR">
+            <summary>
+            当WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函数翻译后发送此消息给拥有焦点的窗口
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_YOMICHAR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CONVERTREQUEST">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CONVERTRESULT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_IME_COMPOSITION">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_INITDIALOG">
+            <summary>
+            在一个对话框程序被显示前发送此消息给它,通常用此消息初始化控件和执行其它任务
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_COMMAND">
+            <summary>
+            当用户选择窗口菜单的一条命令或//当用户选择最大化或最小化时那个窗口会收到此消息
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSCOMMAND">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_TIMER">
+            <summary>
+            发生了定时器事件
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_HSCROLL">
+            <summary>
+            当一个窗口标准水平滚动条产生一个滚动事件时发送此消息给那个窗口,也发送给拥有它的控件
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_VSCROLL">
+            <summary>
+            当一个窗口标准垂直滚动条产生一个滚动事件时发送此消息给那个窗口也,发送给拥有它的控件
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_INITMENU">
+            <summary>
+            当一个菜单将要被激活时发送此消息,它发生在用户菜单条中的某项或按下某个菜单键,它允许程序在显示前更改菜单
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_INITMENUPOPUP">
+            <summary>
+            当一个下拉菜单或子菜单将要被激活时发送此消息,它允许程序在它显示前更改菜单,而不要改变全部
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_SYSTIMER">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MENUSELECT">
+            <summary>
+            当用户选择一条菜单项时发送此消息给菜单的所有者(一般是窗口)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MENUCHAR">
+            <summary>
+            当菜单已被激活用户按下了某个键(不同于加速键),发送此消息给菜单的所有者
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_ENTERIDLE">
+            <summary>
+            当一个模态对话框或菜单进入空载状态时发送此消息给它的所有者,
+            一个模态对话框或菜单进入空载状态就是在处理完一条或几条先前的消息后没有消息它的列队中等待
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MENURBUTTONUP">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MENUDRAG">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MENUGETOBJECT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_UNINITMENUPOPUP">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MENUCOMMAND">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CHANGEUISTATE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_UPDATEUISTATE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_QUERYUISTATE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_LBTRACKPOINT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLORMSGBOX">
+            <summary>
+            在windows绘制消息框前发送此消息给消息框的所有者窗口,通过响应这条消息,
+            所有者窗口可以通过使用给定的相关显示设备的句柄来设置消息框的文本和背景颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLOREDIT">
+            <summary>
+            当一个编辑型控件将要被绘制时发送此消息给它的父窗口通过响应这条消息,
+            所有者窗口可以通过使用给定的相关显示设备的句柄来设置编辑框的文本和背景颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLORLISTBOX">
+            <summary>
+            当一个列表框控件将要被绘制前发送此消息给它的父窗口通过响应这条消息,
+            所有者窗口可以通过使用给定的相关显示设备的句柄来设置列表框的文本和背景颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLORBTN">
+            <summary>
+            当一个按钮控件将要被绘制时发送此消息给它的父窗口通过响应这条消息,
+            所有者窗口可以通过使用给定的相关显示设备的句柄来设置按纽的文本和背景颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLORDLG">
+            <summary>
+            当一个对话框控件将要被绘制前发送此消息给它的父窗口通过响应这条消息,
+            所有者窗口可以通过使用给定的相关显示设备的句柄来设置对话框的文本背景颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLORSCROLLBAR">
+            <summary>
+            当一个滚动条控件将要被绘制时发送此消息给它的父窗口通过响应这条消息,
+            所有者窗口可以通过使用给定的相关显示设备的句柄来设置滚动条的背景颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CTLCOLORSTATIC">
+            <summary>
+            当一个静态控件将要被绘制时发送此消息给它的父窗口通过响应这条消息,
+            所有者窗口可以 通过使用给定的相关显示设备的句柄来设置静态控件的文本和背景颜色
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETEDITSEL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_LIMITTEXT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETEDITSEL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_ADDSTRING">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_DELETESTRING">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_DIR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETCOUNT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETCURSEL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETLBTEXT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETLBTEXTLEN">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_INSERTSTRING">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_RESETCONTENT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_FINDSTRING">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SELECTSTRING">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETCURSEL">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SHOWDROPDOWN">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETITEMDATA">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETITEMDATA">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETDROPPEDCONTROLRECT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETITEMHEIGHT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETITEMHEIGHT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETEXTENDEDUI">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETEXTENDEDUI">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETDROPPEDSTATE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_FINDSTRINGEXACT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETLOCALE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETLOCALE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETTOPINDEX">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETTOPINDEX">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETHORIZONTALEXTENT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETHORIZONTALEXTENT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_GETDROPPEDWIDTH">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_SETDROPPEDWIDTH">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_INITSTORAGE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CB_MSGMAX">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MOUSEWHEEL">
+            <summary>
+            当鼠标轮子转动时发送此消息个当前有焦点的控件
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MBUTTONDBLCLK">
+            <summary>
+            双击鼠标中键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MBUTTONUP">
+            <summary>
+            释放鼠标中键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MOUSEMOVE">
+            <summary>
+            移动鼠标时发生,同WM_MOUSEFIRST
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_LBUTTONDOWN">
+            <summary>
+            按下鼠标左键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_LBUTTONUP">
+            <summary>
+            释放鼠标左键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_LBUTTONDBLCLK">
+            <summary>
+            双击鼠标左键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_RBUTTONDOWN">
+            <summary>
+            按下鼠标右键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_RBUTTONUP">
+            <summary>
+            释放鼠标右键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_RBUTTONDBLCLK">
+            <summary>
+            双击鼠标右键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_MBUTTONDOWN">
+            <summary>
+            按下鼠标中键
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CUT">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_COPY">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_PASTE">
+            <summary>
+            粘贴(Ctrl+C)
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_CLEAR">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WM_USER">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.GW_CHILD">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.WS_EX_NOACTIVATE">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="F:Curtain.Windows.WindowsMessage.CBN_DROPDOWN">
+            <summary>
+            
+            </summary>
+        </member>
+    </members>
+</doc>

BIN
DLL/Curtain.DataAccess.dll


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 705 - 190
DLL/Curtain.DataAccess.xml


BIN
DLL/Curtain.Framework.dll


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 255 - 4084
DLL/Curtain.Framework.xml


BIN
DLL/Curtain.Net.Sockets.dll


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 297 - 316
DLL/Curtain.Net.Sockets.xml


+ 2 - 0
IBOSS.PRD.sln

@@ -101,6 +101,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WCF.WebHosting", "WCF.Servi
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DLL", "DLL", "{7B766D59-13AD-4258-B076-367DDA5BF5A1}"
 	ProjectSection(SolutionItems) = preProject
+		DLL\Curtain.Core.dll = DLL\Curtain.Core.dll
+		DLL\Curtain.Core.xml = DLL\Curtain.Core.xml
 		DLL\Curtain.DataAccess.dll = DLL\Curtain.DataAccess.dll
 		DLL\Curtain.Framework.dll = DLL\Curtain.Framework.dll
 		DLL\Curtain.Net.Sockets.dll = DLL\Curtain.Net.Sockets.dll

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov