private void threadWorker_DoWork(object sender, DoWorkEventArgs e) { if (e.Argument == null) { blend = new PossionBlending(); cmd = new WorkerCmd(); } WorkerCmd arg = e.Argument as WorkerCmd; if (arg != null) { if (arg.cmd == CMD_START_BLEND) { blend.BlendImage( arg.ImageSrc, arg.ImageDst, arg.ImageMask, arg.ImageSave, arg.boxArr, arg.posArr); } } }