有个例子,http://blog.163.com/da7_1@126/blog/static/1040726782011422102411686/

解决方案 »

  1.   


    一个备份工作对象类可能是这样的public abstract class 备份任务 : INotifyPropertyChanged
    {
        public abstract int 总步骤数 { get; }
        public abstract int 当前完成步骤数 { get; }    public abstract void 开始备份();    public event PropertyChangedEventHandler PropertyChanged;
    }
    这是所有(比如说10种)备份操作的抽象父类。(或者,你可以设计为“一个”比较通用的子类,使得多种备份操作都可以被它的实例对象所执行)。确定了接口设计,才好说明流程。你可以先把所有的备份任务实例化,放到一个List<备份任务>集合中。然后取得总步骤数,初始化你的进度条。再分别开始备份任务,并开始监听其 PropetyChanged事件,当此事件表明“当前完成步骤数”属性发生了变化时则重新更新整个进度条。这是一个设计,不是拼凑。就好像如果你懂得了计算一个陀螺上某一点的运动公式,那么给你6个刚性连接在一起的陀螺你也应该能够计算出来。如果不会,那就是只会抄书本而没有学会自己建模分析。
      

  2.   


    一个备份工作对象类可能是这样的public abstract class 备份任务 : INotifyPropertyChanged
    {
        public abstract int 总步骤数 { get; }
        public abstract int 当前完成步骤数 { get; }    public abstract void 开始备份();    public event PropertyChangedEventHandler PropertyChanged;
    }
    这是所有(比如说10种)备份操作的抽象父类。(或者,你可以设计为“一个”比较通用的子类,使得多种备份操作都可以被它的实例对象所执行)。确定了接口设计,才好说明流程。你可以先把所有的备份任务实例化,放到一个List<备份任务>集合中。然后取得总步骤数,初始化你的进度条。再分别开始备份任务,并开始监听其 PropetyChanged事件,当此事件表明“当前完成步骤数”属性发生了变化时则重新更新整个进度条。这是一个设计,不是拼凑。就好像如果你懂得了计算一个陀螺上某一点的运动公式,那么给你6个刚性连接在一起的陀螺你也应该能够计算出来。如果不会,那就是只会抄书本而没有学会自己建模分析。受教
      

  3.   

    这个我看过了,也明白怎么搞得了,只是我发现我得系统没有sqldmo,并且好像微软说以后慢慢的取消掉这个com组件,就没去研究