WinForm中如何使用多线程操作控件

作者:小菜 更新时间:2025-02-25 点击数:
简介:我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。

然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。

首先来看传统

【菜科解读】

我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。

然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。

首先来看传统方法:publicpartialclass Form1 : Form ...{ public Form1() ...{ InitializeComponent(); }privatevoid Form1_Load(object sender, EventArgs e) ...{ Thread thread =new Thread(ThreadFuntion); thread.IsBackground =true; thread.Start(); }privatevoid ThreadFuntion() ...{ while (true) ...{ this.textBox1.Text = DateTime.Now.ToString(); Thread.Sleep(1000); }}}运行这段代码,我们会看到系统抛出一个异常:Cross-thread operation not valid:Control 'textBox1' accessed from a thread other than the thread it was created on . 这是因为.net 2.0以后加强了安全机制,不允许在winform中直接跨线程访问控件的属性。

那么怎么解决这个问题呢,下面提供几种方案。

第一种方案,我们在Form1_Load()方法中加一句代码:privatevoid Form1_Load(object sender, EventArgs e) ...{ Control.CheckForIllegalCrossThreadCalls =false; Thread thread =new Thread(ThreadFuntion); thread.IsBackground =true; thread.Start(); }加入这句代码以后发现程序可以正常运行了。

这句代码就是说在这个类中我们不检查跨线程的调用是否合法(如果没有加这句话运行也没有异常,那么说明系统以及默认的采用了不检查的方式)。

然而,这种方法不可取。

我们查看CheckForIllegalCrossThreadCalls 这个属性的定义,就会发现它是一个static的,也就是说无论我们在项目的什么地方修改了这个值,他就会在全局起作用。

而且像这种跨线程访问是否存在异常,我们通常都会去检查。

如果项目中其他人修改了这个属性,那么我们的方案就失败了,我们要采取另外的方案。

下面来看第二种方案,就是使用delegate和invoke来从其他线程中控制控件信息。

网上有很多人写了这种控制方式,然而我看了很多这种帖子,表明上看来是没有什么问题的,但是实际上并没有解决这个问题,首先来看网络上的那种不完善的方式:publicpartialclass Form1 : Form ...{ privatedelegatevoid FlushClient();//代理public Form1() ...{ InitializeComponent(); }privatevoid Form1_Load(object sender, EventArgs e) ...{ Thread thread =new Thread(CrossThreadFlush); thread.IsBackground=true; thread.Start(); }privatevoid CrossThreadFlush() ...{ //将代理绑定到方法 FlushClient fc =new FlushClient(ThreadFuntion); this.BeginInvoke(fc);//调用代理}privatevoid ThreadFuntion() ...{ while (true) ...{ this.textBox1.Text = DateTime.Now.ToString(); Thread.Sleep(1000); }}} WinForm,中,如何,使用,多,线程,操作,控件,我们,

传说中的妖祖、佛祖、魔祖、道祖,他们分别都是谁?谁的实力最强

妖祖、佛祖、魔祖、道祖是中国神话之中出现频次较高的称谓之一,代表着中国神话之中妖魔鬼怪各个阶级的最强战斗力。

那么,不少朋友就会感到好奇,古人是怎么确认和区分这些神话角色的,它们的来源又有什么故事,最重要的是,这些神话角色的战斗力又如何呢?妖祖竟是创世神,人类都要叫她母亲在这些称谓之中,妖祖可能是我们接触最少,感到最为陌生的一个称号了。

但这位称号持有者我们可一点都不陌生:在中国神话之中,被称为妖祖的,正是我们熟知的那个补天造人的女娲。

根据山海经的记载,虽然女娲是仅次于盘古诞生的第二位神,但她本身是人身蛇尾的妖精,手持一柄万妖幡,号令天下妖精。

相传只要女娲一声令下,挥动手中的万妖幡,整个世界的妖精都会听从女娲的调令,帮助女娲四处征战。

作为中华民族创世神话之神,女娲在我们心中的地位自然也是不低。

除了能够号令天下所有妖精之外,女娲还有能够创造一个种族的能力,能赋予他人生命力,是神话中对于一个神明最高的崇敬,由此可见女娲的实力。

而且在后来流传的传说之中,天地由于灾难破损大开,女娲为了拯救人类而用尽自己能力收集补天石去补天,能够仅凭一人之力,改变天地状态,女娲的实力不容小觑。

也是因为如此壮举,更是确立了女娲在中华神话之中的地位,她虽然是妖王,但也能够成为万人敬仰的中华神话主神之一。

佛祖到底是谁,竟然有好几个?对我们来说,最熟悉的称号可能就是佛祖了,我们以“佛祖保佑”挂在嘴边,那么佛祖的能力又如何呢?很多人看见佛祖二字,脑海中第一反应就是释迦摩尼。

其实将释迦摩尼与佛祖画等号这种说法不完全正确,虽然在历史上佛教确实为释迦摩尼所创立,但在佛教神话之中,释迦摩尼只代表着我们现代这个时代的“佛祖”。

神话中记载,在释迦摩尼成为佛祖前,人们将燃灯佛供奉为佛祖,所以我们称呼“燃灯佛”为“过去佛”。

在燃灯佛的时代结束后,释迦摩尼接过了佛祖的称号,成为了“现世佛”,也就是我们如今口中的佛祖。

而在释迦摩尼完成使命后,我们熟悉的另一位佛陀——弥勒佛接过他的位置,成为未来的佛祖,因此弥勒也被称为“未来佛”。

那么佛祖的实力如何呢?大千佛法,功德无量,备受世人崇敬的释迦摩尼实力自然是不容小觑,但释迦摩尼平日从不轻易出手,所以我们很难直接看出佛祖的战力。

但从西游记这类故事中可以侧面看出,令神仙们头疼不已的弼马温,被释迦摩尼在须臾之间就压在了五指山下,五百年动弹不得,可见佛祖的实力绝非小可。

道祖有人间化身,而且写在我们的教科书里道教为我们中国本土宗教,其思想内核蕴含着许多中华文化的儒家哲理。

道教的影响力虽逊色于佛教,但道教至尊,被称为道祖的太上老君更是一直被我们尊崇着,可以说单从受尊敬的程度上来说,太上老君甚至要比佛祖影响力大。

虽然太上老君不是道教神话之中地位最高的神仙,他的身份比王母玉帝稍微低一些,可太上老君的实力和影响力却完全盖过这两位神仙。

在神话之中,太上老君除了拥有呼风唤雨,召唤神兽,散布祥瑞的能力之外,他的战力也不容小觑。

《五千文经序》中记载描述,太上老君不受时间限制,不受空间限制,也不受任何物理控制,太上老君既有形,也无形,是世间大道的综合。

而在史实之中,我们通常会将老子看做是道祖的化身,是太上老君在人间的代表。

老子作为我国古代重要的思想家,其影响力不言而喻,撰写的《道德经》规范了后世人们的生活。

上至帝王下至百姓,都在老子提出的思想指导之下生息着,“无为而治”的概念甚至影响了我们现代人的生活,甚至写进了我们的教科书中。

由此可见,道祖无论是在神话之中还是在史实之中,都具有非常强大的影响力。

无形化身赋予了道祖几乎无尽的战斗能力,无为而治的思想又赋予道祖他人无法比拟的思想能力,可谓是这四祖中的顶尖翘楚。

#p#分页标题#e#魔祖战斗力最弱?他可是战神关于魔祖究竟是谁,历史中有很多争议,也引起了广泛的讨论,但是多数人公认的魔祖就是熟悉的蚩尤。

至于蚩尤是如何成为魔祖的,历史上有两个解释,一个是因为蚩尤长相可怖,旁人见到后都会战栗发抖,产生恐惧,以为蚩尤是魔物到了凡间,便称其为魔祖。

另一种解释是,因为蚩尤与炎黄二帝在涿鹿中原的战争之中杀了太多人,手中沾染了太多无辜之人的鲜血,因此在被称为战神的同时,也被冠以了“魔祖”的称号。

最终蚩尤大败于炎黄联军之手,两位皇帝彰显自己的正义,以及夺取中原后的正统,自然也就将魔祖这个称号流传下来了。

作为魔祖,蚩尤的战斗力同样是十分惊人的,凭一人之力,带领自己的部族对抗炎黄二帝的联军,并且在缺兵少粮,自己领地天灾不断的情况下,能够与两位大帝打的有来有回。

首先蚩尤指挥能力毋庸置疑,毕竟是中华民族公认的战神,凭借一己之力吞并了数百个部族。

而在战争中,炎黄二帝也是赌上了性命,费尽艰辛才将蚩尤斩杀,蚩尤本人战力可见一斑。

但可惜的是,虽然蚩尤是魔祖,可仍然是一介凡人,战斗力也就只能够到达凡人的天花板,是无法和上文几个神仙相比的。

因此,如果单纯将这几位的战力相比较的话,实力最弱的便是魔祖,而女娲因为没有撼天动地的能力,只能被动修补天地而排在魔祖之后。

再之后是佛祖,虽然佛祖有无上功德,法力无边,但是因为佛祖有可替换性,在位不稳定,因此排第二。

所以,实力最强的就是道祖太上老君,无形之力囊括世间万物,不可替代性也确保无人能够接替老君的位置,因此太上老君的实力在四人之中排第一。

可神话与史诗都需要结合各位神仙所处的环境来看,虽然蚩尤实力最弱,但是在中华神话之中,他也是不可或缺的战神,备受敬仰。

而女娲造人和补天是其他神仙无法替代的壮举,佛祖功德无量,引世人向善。

太上老君作为中华文明精神的引路人而被世代传颂,若是比较功绩,那这几位的功德孰优孰劣,就难说了。

什么是三魂七魄?中国民间招魂术招魂魄方式有哪些?

喜欢恐怖的朋友应该都听说过招魂术吧!中国道家的招魂术,不同于佛教的招魂大法!而且两种招魂方式、方法皆有不同,过去常见的一种招魂方式是:死人出殡以前,由死者的一位亲人站到房顶上高呼几声死者的名字,以为这样就把他走掉的魂召唤回来了,以免回不了家而变成野鬼。

不过在使用这民间招魂术前还希望大家能三思,因为找来什么样的鬼魂是无法控制的。

下面就跟着小编一起来了解一下吧!招魂术方式是什么?中西招魂术有何分别?民间传说人有三魂七魄,是人的本命精神所在,人的灵魂平时附于人体,当人受到意外惊吓后,其灵魂就会离体旁落,难以回归,导致萎靡不振,精神恍惚,甚至卧床不起,这就是“掉魂”。

在迷信人的眼里,对“掉魂”者救治的唯一办法是招魂,也称为“喊魂”或“叫魂”。

.....[细节阅读]揭迷英国招魂恐怖事件一名少女在玩过外国版碟仙的通灵板(Ouija board)后一病多月。

家人怀疑她是被鬼上身,找来大法师在教堂她,未料因此猝死。

英国《每日镜报》报导,该事件发生在中美洲的贝里斯(Belize)。

22岁的桑奇斯(Jaqueline Sanchez)疑被鬼上身,家人找来当地五旬节圣洁会(Pentecostal 的教士来赶鬼。

...[细节阅读]什么是招魂术?民间传说人有三魂七魄,是人的本命精神所在,人的灵魂平时附于人体,当人受到意外惊吓后,其灵魂就会离体旁落,难以回归,导致萎靡不振,精神恍惚,甚至卧床不起,这就是“掉魂”。

在迷信人的眼里,对“掉魂”者救治的唯一办法是招魂,也称为“喊魂”或“叫魂”。

招魂的方式“招魂”的方式,一般有三种方式:1. 室内招魂,常见的有如下三术:其一,用笤帚招魂;其二,用门招魂;其三,求祖先招魂。

2. 半室内半室外招魂,常见的有如下二术:其一,用针招魂;其二,用杖招魂。

3. 室外招魂,常见的也有二术:其一,用馍招魂;其二,用符咒招魂。

过去在我国乡村常见的一种招魂方式是:死人出殡以前,由死者的一位亲人站到房顶上高呼几声死者的名字,以为这样就把他走掉的魂召唤回来了,以免回不了家而变成野鬼。

“招魂术”,是指“招魂”的方法。

中外的“招魂”方法虽然有点不一样,但都是为了沟通活人和鬼魂的联系。

加入收藏
               

WinForm中如何使用多线程操作控件

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录