- 浏览: 752618 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (1081)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (0)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (0)
- [网站分类]4.其他技术区 (0)
- [网站分类]5.企业信息化 (0)
- [网站分类]6.读书心得区(技术书籍阅读心得、书籍推荐) (0)
- [网站分类]7.提问区(.NET技术方面的提问) (2)
- [网站分类]8.技术转载区(.NET技术文章转载, 请注明原文出处) (0)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [网站分类]Dottext区 (0)
- [网站分类]GIS技术 (0)
- [网站分类]IT英才专区(IT职场交流) (0)
- [网站分类]SharePoint (0)
- [网站分类]博客园.NET俱乐部(俱乐部组织与活动方面的文章) (0)
- [网站分类]软件发布区(发布自己开发的代码、软件) (0)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (0)
- [网站分类]业界新闻 (1)
- 技术 (1)
- [随笔分类]生活感悟 (10)
- [随笔分类]C# (30)
- [随笔分类]AjaxPro教程 (3)
- [发布至博客园首页] (5)
- [随笔分类]简历 (0)
- [随笔分类]Linux (2)
- [随笔分类]技术聚会 (2)
- [随笔分类]ORM (1)
- [随笔分类]php (1)
- [随笔分类]创业 (1)
- [随笔分类]奇技淫巧 (1)
- [随笔分类]计划 (1)
- [随笔分类]架构&分层 (1)
- [随笔分类]整合行销 (1)
- [随笔分类]mac (1)
- [网站分类].NET新手区 (45)
- [网站分类]非技术区 (5)
- [网站分类]招聘区 (0)
- [随笔分类]单元测试 (1)
- [网站分类]其他技术区 (3)
- [网站分类]代码与软件发布 (6)
- [网站分类]提问区 (24)
- [随笔分类]ASP.NET (2)
- [随笔分类]FAQ (12)
- [随笔分类]开发人员工具 (1)
- [随笔分类]朗志轻量级项目管理解决方案 (1)
- [网站分类]读书区 (1)
最新评论
-
天使建站:
写和乱七八糟的 不知道从哪复制过来的 还是看这里吧j ...
jquery数组 -
hyn450:
你好,我最近也想了解一下竞争情报。不知道能不能交流一下呢 ?
最近的工作 -
lattimore:
这个连接打不开了阿!
使用vnc连ubuntu desktop -
MZhangShao:
奉劝你一句,以后在Ubuntu 用apt-get安装成功的软件 ...
关于xrdp的安装设置 -
f002489:
strftime
python下datetime类型的转换
按照惯例先上个图,自己照着人家的例子写了一遍,基本上把这个弄懂了,这个控件就是省事,不懂线程原理的人也可使,ms就是厉害,生产力节节提高哈,
<!----> 1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Linq;
7
using System.Text;
8
using System.Threading;
9
using System.Windows.Forms;
10
11
namespace BrowserDemo
12

{
13
public partial class Form7 : Form
14
{
15
const int argument = 20000;
16
17
public Form7()
18
{
19
InitializeComponent();
20
}
21
22
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
23
{
24
for(var i=0;i<int.Parse(e.Argument.ToString());i++)
25
{
26
e.Result = i;
27
(sender as BackgroundWorker).ReportProgress((int)(((double)i / (double)((int)e.Argument)) * 100),i);
28
Thread.Sleep(20);
29
if (this.backgroundWorker1.CancellationPending)
30
return;
31
}
32
}
33
34
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
35
{
36
this.listBox1.Items.Add(e.UserState);
37
this.progressBar1.Value = e.ProgressPercentage;
38
}
39
40
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
41
{
42
MessageBox.Show("finished");
43
}
44
45
private void button1_Click(object sender, EventArgs e)
46
{
47
if (this.backgroundWorker1.IsBusy)
48
{
49
MessageBox.Show("慢则那,等着吧");
50
return;
51
}
52
this.backgroundWorker1.RunWorkerAsync(argument);
53
this.button2.Enabled = true;
54
this.button3.Enabled = true;
55
56
}
57
58
private void button2_Click(object sender, EventArgs e)
59
{
60
MessageBox.Show("111");
61
}
62
63
private void button3_Click(object sender, EventArgs e)
64
{
65
this.backgroundWorker1.CancelAsync();
66
}
67
68
private void Form7_Load(object sender, EventArgs e)
69
{
70
this.button2.Enabled = false;
71
this.button3.Enabled = false;
72
}
73
}
74
}
75

2

3

4

5

6

7

8

9

10

11

12



13

14



15

16

17

18



19

20

21

22

23



24

25



26

27

28

29

30

31

32

33

34

35



36

37

38

39

40

41



42

43

44

45

46



47

48



49

50

51

52

53

54

55

56

57

58

59



60

61

62

63

64



65

66

67

68

69



70

71

72

73

74

75

完整的工程如下
http://files.cnblogs.com/lexus/BrowserDemo.7z
相关资源,发现msdn上写得比较还好,不过自己写一遍自己就清楚了,我发现网上的msdn,是不是和vs2008里的光盘里的那个msdn不一样,有些资源为什么在光盘上的找不到呢,等我采集程序做好了,我要把它都抓下来,占为已有,嘿嘿
http://msdn.microsoft.com/zh-cn/library/ms233672(VS.80).aspx
发表评论
-
请教一个winform程序设计上的问题
2007-07-12 02:22 734想要做一个功能,点击按钮出现一个键菜单,如下图所示:而在我的程 ... -
模拟提交程序相关专题
2007-11-29 18:53 974目录 模拟提交程序相关专题 1 目录 ... -
如何使用树形控件
2007-11-29 18:58 1376目录 如何使用树形控件 1 目录 2 ... -
XML文档数据操作心得
2007-11-29 19:00 808目录 XML文档数据操作心得 1 修订历史纪录 ... -
自制线程池3续
2008-08-13 13:59 665晚上睡觉前想到一些问题,发现有几种情形没有进行测试,遂记录下来 ... -
刚才是不是访问出问题了
2008-08-14 20:08 650Invalid URL The requested URL & ... -
Mock介绍
2008-08-17 19:48 1056在园子里搜索了一下, ... -
单元测试介绍
2008-08-18 07:25 762希望能不落熟套,在这里记录单元测试使用中的一些技巧 1.刚从英 ... -
最近几天的工作总结
2008-08-21 16:29 684缓存真的很重要,这几天在做信息采集的过程中,需要动态的生成程序 ... -
BDB使用总结
2008-08-24 12:26 752当对数据库设置了DbFlags.Dup后,允许重复的键值, 当 ... -
截图留念
2008-08-28 20:57 390... -
分布式信息采集程序Preview2
2008-08-29 17:17 621http://files.cnblogs.com/lexus/ ... -
boo & python笔记
2008-08-30 21:22 609在这里记录一下,自己的复习所得,有大概一个月没有碰这些东西了, ... -
log4net udp组件的应用
2008-08-30 23:57 788由于输出的调试信息非常之多,加上早前有一些用的是Console ... -
检测你的机子上装了什么版本的.net framework
2009-12-09 09:20 713这个想法由来已久,今天又碰上有人问我这个问题,使出吃奶的劲尔狠 ... -
关于程序日志的设计思考,及写程序时候的心态2009-12-16
2009-12-16 10:00 894最近在写一个分布式缓 ... -
最近几天的工作总结
2008-08-21 16:29 796缓存真的很重要,这几天在做信息采集的过程中,需要动态的生成程序 ... -
BDBViewer
2008-08-23 10:37 599因为项目中用了BDB,可是BDB不像sqlite有众多的数据库 ... -
扩展方法应用
2008-08-23 16:26 737using System; using System.Coll ... -
BDB使用总结
2008-08-24 12:26 775当对数据库设置了DbFlags.Dup后,允许重复的键值, 当 ...
相关推荐
在VB.NET编程中,`BackgroundWorker`组件是一个非常重要的工具,它允许我们在应用程序的主线程之外执行耗时操作,...通过实践和学习提供的"VB.net BackgroundWorker使用例子",开发者可以更好地理解和掌握这一功能。
本例子将深入讲解如何正确使用BackgroundWorker组件,包括其主要属性、方法和事件。 首先,BackgroundWorker组件有以下几个关键属性: 1. **IsBusy**:这个布尔属性用于检查BackgroundWorker是否正在执行工作。当...
在.NET框架中,`BackgroundWorker`组件是一个非常重要的工具,尤其在开发多线程应用程序时。这个组件使得在用户界面...通过深入学习和实践`BackgroundWorker`,开发者可以构建更加高效、用户体验更好的桌面应用程序。
【C# BackgroundWorker组件学习入门】 在C#编程中,有时我们需要执行一些耗时的任务,比如大数据处理、网络通信或者文件操作等。这些任务如果在主线程上执行,会导致用户界面(UI)变得无响应,影响用户体验。为了解决...
通过这个例子,我们可以学习到如何在.NET环境中有效地使用BackgroundWorker组件来创建响应式的用户界面,同时处理复杂的后台任务。了解和掌握BackgroundWorker,对于任何.NET开发者来说都是一个重要的技能,特别是在...
"101个C#例子[示例源码]"集合了学习C#时可能会遇到的各种关键概念和技术,旨在帮助初学者快速理解和掌握C#编程。 1. **数据库操作**:C#可以与各种数据库进行交互,如SQL Server、MySQL、Oracle等。通过ADO.NET框架...
这个压缩包文件“C#081212-进度条例子”很可能是包含了一个C#项目,其中详细展示了如何在Windows Forms或WPF应用中实现进度条功能的源代码示例。 在Windows Forms应用程序中,我们通常使用`ProgressBar`控件来创建...
7. **多线程**:学习如何在WinForm中使用Thread或者BackgroundWorker组件,以实现后台处理,提高程序响应性。 8. **文件操作**:读写文件是常见的需求,例子中会有如何使用File和StreamReader/StreamWriter类进行...
9. **源码示例**:压缩包中的文件如`C# winform 自动升级.rar`和`C#实现软件自动升级实例源码.rar`提供了具体的实现代码,可以从这些例子中学习如何将上述概念应用到实际项目中。 10. **安全考虑**:在设计自动更新...
总的来说,通过这样的小例子,开发者可以学习到如何在C#的Windows Forms应用程序中创建一个带有进度条的状态栏,提升用户界面的交互性和用户体验。同时,这也是一种良好的实践,展示了如何利用BackgroundWorker组件...
9. **多线程**:VB.NET支持多线程编程,例子可能包括如何启动新线程,使用Thread和BackgroundWorker类,以及同步和互斥的概念。 10. **文件和流操作**:VB.NET提供了读写文件和处理流的能力,例子可能涵盖使用...
总的来说,VB.NET的多线程功能强大且易于使用,对于初学者来说,通过简单的例子学习多线程是一个很好的起点。不过,随着项目复杂性的增加,理解并掌握线程管理、同步和通信机制至关重要,这将有助于编写出更加健壮和...
这个"winform_c#_多线程例子"项目提供了一个实用的起点,帮助开发者学习和理解如何在Winform应用程序中有效地使用多线程,提高程序性能和用户体验。通过研究这个例子,可以深入理解线程管理、UI交互、异常处理和线程...
在C#编程中,Windows Forms(WinForms)应用程序经常需要处理复杂的任务,...这个示例项目`ThreadTest`为我们提供了实践这些概念的机会,通过打开和分析项目中的代码文件,我们可以深入学习多线程在实际项目中的应用。
这个“VB.NET编程例子大全”压缩包可能包含了各种VB.NET编程的实例,帮助学习者理解并掌握VB.NET的基本概念、语法以及高级特性。 在VB.NET中,你可以学习到以下核心知识点: 1. **基本语法**:包括变量声明、数据...
通过深入学习并实践这101个VB.NET例子,开发者不仅可以巩固理论知识,还能提升实际问题解决能力,为构建复杂应用打下坚实基础。每一个例子都是一个宝贵的实践经验,有助于程序员逐步成长为VB.NET的专家。
如果涉及到多线程操作,比如在后台执行文件操作以避免阻塞用户界面,可能会用到BackgroundWorker组件或者Task并行库。 在实际开发过程中,为了确保良好的用户体验,开发者可能还考虑了错误处理和异常捕获,使用try-...
在IT行业中,Silverlight是一种基于.NET Framework的浏览器插件,由微软开发,主要用于创建富互联网应用程序(RIA)...通过学习这个例子,开发者能够更好地理解和应用数据压缩技术,提升其Silverlight应用的用户体验。
总结来说,学习WinForm多线程不仅涉及线程的创建和管理,还包括线程同步、UI更新规则以及在特定场景下(如处理Excel文件)的注意事项。通过实践这些概念,开发者可以编写出更高效、更响应的桌面应用程序。