线程刷新界面,求解惑,在线等.......

问题描述

界面上有按钮Button1和label22个控件,点击Button1privatevoidbutton1_Click(objectsender,EventArgse){Threadds=newThread(newThreadStart(aa));ds.IsBackground=true;ds.Start();//启动线程ds}标准刷新方法publicdelegatevoidbb();voidaa(){if(this.label2.InvokeRequired){bbxx=newbb(mm);xx.BeginInvoke(null,null);}else{this.label2.Text="AAAAAAAA";//由于是2个线程,我觉得不会到这里,如果可以,求解惑}}实际上:直接使用voidaa(){this.label2.Text="AAAAAAAA";}可以直接刷新控件如果在button1_Click(objectsender,EventArgse)中还有其他操作,则使用任何办法能不能刷新控件,因为invoke和begininvoke都要等到转换线程结束(我理解的有误吗?)有这样的一个业务场景,如何实现:在button1_Click(objectsender,EventArgse)中启动线程,定时刷新label2控件,同时button1_Click(objectsender,EventArgse)中的其他操作要求继续进行,如何实现?(有别的变通方法,单我要求只能这样实现!)在privatevoidbutton1_Click(objectsender,EventArgse){Threadds=newThread(newThreadStart(aa));ds.IsBackground=true;ds.Start();//启动线程dsThread.Sleep(12000);MessageBox.Show(“主线程结束”)}加入Thread.Sleep(12000);后,如何实现在MessageBox.Show(“主线程结束”)执行之前,线程ds每秒刷新label2一次此时的aa()如何写?

解决方案

解决方案二:
转换线程结束=主线程
解决方案三:
aa的函数里面要做成死循环,线程启动以后,代码执行完成就会释放,死循环可以保证你的线程一直处于执行状态,至于定时的业务和逻辑,写代码进行判断就可以~
解决方案四:
加个Timer不是很简单吗?非要用什么线程
解决方案五:
自己继续顶,请大家发言

时间: 2024-10-25 12:53:21

线程刷新界面,求解惑,在线等.......的相关文章

使用线程刷新界面的系统时间控件。

问题描述 我是新手,我有个疑问:如何使用线程,刷新winform界面的系统时间控件.例如label.text像这种长时间刷新,并且是1000毫秒刷新一次的,Timer和线程哪个更好?下面的虽然精简,可是没有注释,还希望高手能把用到的函数拆开,并且注释一下.感激不尽.privatevoidFrm_Load(objectsender,EventArgse){Threadt=newThread(delegate(){while(this.IsHandleCreated){Invoke(newEvent

线程-volatile 关键字 作用结果求解惑

问题描述 volatile 关键字 作用结果求解惑 public class testVolatile { private int i = 0; // a线程调用 public void foo1() { try { while (true) { Thread.sleep(10); System.out.println(""第一个:"" + i); i++; } } catch (InterruptedException e) { // not to do; } }

代码-求助各位大神LIstfragment中,分线程获取数据后刷新界面崩溃,用分线程加载数据后

问题描述 求助各位大神LIstfragment中,分线程获取数据后刷新界面崩溃,用分线程加载数据后 如题:代码如下,要在viewpager中的一个fragment中加载一个listview,用分线程加载数据后,handleMessage给成员变量的集合赋值后,notify,会直接崩溃 /** 报警图片 */ public class AlarmPhotoFragment extends ListFragment { private int mType = 0; private ListView

WPF刷新界面的问题

项目需要一个硬件检测功能,需要用到界面刷新,刚开始想用个定时器,对检测过的硬设定时添加后刷新 界面. 但是很遗憾,定时器并不能进行刷新.后台检测List数据里面已经添加了很多了很多数据了, 就是不能显示到界面然后百度一下"WPF刷新界面"找了好几篇文章,大致都是如下代码: public class UIHelper : Application { //刷新界面 private static DispatcherOperationCallback exitFrameCallback =

java关于PrintWriter调用write方法之后使用flush方法获取不到内容原因探究求解惑!

问题描述 java关于PrintWriter调用write方法之后使用flush方法获取不到内容原因探究求解惑! PrintWriter ps= new PrintWriter(socket.getOutputStream()); ps.write( "hello" ); ps.flush(); 服务端获取不到hello信息,看了下PrintWriter源码,flush()中调用的是BufferedWriter中的flush(),如果这样的话,应该能刷新缓冲得到结果.但是没有...网上

串口-Qt使用多线程刷新界面,界面一段时间后不响应

问题描述 Qt使用多线程刷新界面,界面一段时间后不响应 我设计了一个串口工作线程和界面刷新主线程. 串口线程如下: #include "thread.h" #include "mainwindow.h" #include #include Thread::Thread() { //初始化 } Thread::~Thread() { mutex.lock(); abort = true; mutex.unlock(); wait(); }//析构 void Threa

mysql-菜鸟跪求大神解答,myqsl存储过程在什么位置编写啊···写在哪里啊··跪求,在线跪等

问题描述 菜鸟跪求大神解答,myqsl存储过程在什么位置编写啊···写在哪里啊··跪求,在线跪等 请问各位大神存储过程应该写在哪里啊,我去哪里编写啊···找了好久都毫无头绪···我用的是mysql 解决方案 在控制台用CREATE PROCEDURE创建,如果你不会,参考http://database.51cto.com/art/201012/238261.htm下载一个图形管理界面,那么鼠标点点就能写了,如果你什么都不会的话.

php模拟登录目标网站,为何302没有跟随跳转.cookie已经获得.求解惑.

问题描述 php模拟登录目标网站,为何302没有跟随跳转.cookie已经获得.求解惑. <?php error_reporting(0); $user = 'cckk263'; //邮箱密码 $pass = '54131421'; //登陆 $url = 'https://www.mql5.com/zh/auth_login/'; //创建一个用于存放cookie信息的文件 $cookie= dirname(__FILE__).'/tmp/cookie.txt'; $fields_post =

求亚洲银行在线支付接口及代码,好几天了一直没头绪

问题描述 求亚洲银行在线支付接口及代码,好几天了一直没头绪 最近要给印尼一家电商做支付功能,要求使用亚洲中央银行的在线支付,求大神解惑,小弟感激不尽 解决方案 这个真不知道呢?国内都是支付宝.微信啥的,这外国的就是不一样 解决方案二: 这个真不知道,你查一下相关资料,国内都是国内银行和一些国内的支付软件,很多接口都是开放的