windows mobile多线程示例

 

AuthorQuietwalk

Date2010-10-9

 

private static bool bThreadEnd;

private Thread workThread;

DateTime dtStart;

DateTime dtEnd;

 

  #region download

        private void miDownLoad_Click(object sender, EventArgs e)

        {

            this.btnSend.Visible = false;

            this.btnReceiveFile.Visible = true; //使能下载按钮

            this.btnReceiveFile.Focus();

            this.statusBar1.Text = "";

        }

        //下载并接收文件

        //调用WebService 将应用服务器上的 Zip 包转换成二进制流发送出来

        //调用设备本地的代码接收并存放

        private void btnReceiveFile_Click(object sender, EventArgs e)

        {

          

            //*******************************************

            this.timer1.Enabled = true;

            this.btnReceiveFile.BackColor = Color.Yellow;

            this.statusBar1.Text = "正在下载数据,请稍候。。。";

            dtStart = DateTime.Now;

            workThread = new Thread(new ThreadStart(ReceiveAndSaveFile));

            workThread.Start();

 

       

        }

 

        private void ReceiveAndSaveFile()

        {

 

            bThreadEnd = false;

            GPRSTest.jwsHelloWorld.HelloWordImplService sv = new HelloWordImplService();

            QuietwalkClassLibrary.CommonFunctions.SaveFile(sv.convertZip2ByteArray());//返回的是执行后成功与否,但这里不需要接收此参数

 

            bThreadEnd = true;

        }

 

        private void timer1_Tick(object sender, EventArgs e)

        {

           

            if (!bThreadEnd)//如果线程没有结束

            {

                if (this.progressBar1.Value == progressBar1.Maximum)//到最大了之后再从0开始

                {

                    this.progressBar1.Value = 0;

                }

 

                this.progressBar1.Value += 5;

 

             

            }

            else//线程结束了

            {

                this.timer1.Enabled = false;//关闭计时器

                this.progressBar1.Value = this.progressBar1.Maximum;

 

                dtEnd = DateTime.Now;

 

                if (QuietwalkClassLibrary.CommonFunctions.bDoneStatus)

                {

                    this.statusBar1.Text = this.statusBar1.Text = "下载并存储到设备所用时间:  " + QuietwalkClassLibrary.CommonFunctions.GetTimeSpan(dtStart, dtEnd).ToString() + "--" + DateTime.Now.ToShortTimeString();

                }

                else

                {

                    this.statusBar1.Text = "下载失败!";

                }

               

              

 

            }

 

        }

        #endregion download

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值