private void pic_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { //当条件满足时,触发添加命令, //在当前鼠标位置再画一个点的命令 //将这个命令添加到命令列表中 //执行这个命令 CommandPattern.Command.ICommand cmd = new DrawCommand(canvas, e.Location); history.Append(cmd); cmd.Execute();//执行的是具体命令表 MacroCommand中的方法 } }