首页 > 代码库 > OperationSystemForm
OperationSystemForm
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading;using System.Windows.Forms;using WindowsFormsApplication3.Enums;using WindowsFormsApplication3.DataStorge;using WindowsFormsApplication3.Jobs;using WindowsFormsApplication3.Jobs.Operation_System;namespace WindowsFormsApplication3.FormPage{ public partial class OperationSystemForm : BaseWorkerForm { protected int finishedChildFormNO; protected CheckoutStep checkoutStep; public void StateChangeEvent(CheckoutStep cStep,JobStatus jobstatus) { if(cStep==this.checkoutStep) { switch (jobstatus) { case JobStatus.Error: status = FormStatus.Error; ReportFormStatusChanged(); break; case JobStatus.OK: foreach (BaseJob job in jobs) { if (job.Status == JobStatus.OK) status = FormStatus.OK; checkoutContext.logData.Finish(checkoutStep, ""); } break; default: break; } } RefreshForm(); } public OperationSystemForm(CheckoutContext checkoutContext,CheckoutStep checkoutStep):base(checkoutContext,checkoutStep) { this.checkoutStep = checkoutStep; InitializeComponent(); ResetForm(); } public override void Execute() { base.Execute(); ReportFormStatusChanged(); int i = 0; foreach (BaseJob job in jobs) { job.JobStateChangeEvent += StateChangeEvent; ThreadPool.QueueUserWorkItem(new WaitCallback(job.Execute),i); i++; } checkoutContext.logData.Start(checkoutStep, ""); } public override void ResetForm() { base.ResetForm(); jobs.Add(new Job1(checkoutContext,checkoutStep)); jobs.Add(new Job2(checkoutContext, checkoutStep)); } public override void RefreshForm() { base.RefreshForm(); if(checkoutContext.messageList!=null) { foreach (string m in checkoutContext.messageList) this.listBox.Items.Add(m); } } }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。