• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
蓝色的大海
我很卑微.
博客园    首页    新随笔    联系   管理    订阅  订阅

支持异步操作的组件用法

 

using System;

using System.ComponentModel;

using System.Windows.Forms;

 

namespace AsyncComponent

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

            pictureBox1.LoadCompleted += new AsyncCompletedEventHandler(pictureBox1_LoadCompleted);

        }

 

        //调用 LoadAsync 方法时,您的应用程序将继续运行,而下载操作将在另一个线程上

        //(“在后台”)继续。图像加载操作完成时,将会调用您的事件处理程序,您的事件

        //处理程序可以检查 AsyncCompletedEventArgs 参数以确定下载是否已成功完成。

 

        private void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e)

        {

            if (e.Error != null)

            {

                MessageBox.Show(e.Error.Message, "Load Error");

            }

            else if (e.Cancelled)

            {

                MessageBox.Show("Load canceled", "Canceled");

            }

            else

            {

                MessageBox.Show("Load completed", "Completed");

            }

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

        }

 

        private void loadButton_Click(object sender, EventArgs e)

        {

            //希望应用程序在加载图像时保持运行,可以调用 LoadAsync 方法

            pictureBox1.LoadAsync("D:""桌面.jpg");

        }

 

        private void cancleLoadButton_Click(object sender, EventArgs e)

        {

            pictureBox1.CancelAsync();

        }

    }

}

posted @ 2008-09-25 11:13  blue th  阅读(264)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3