C#完成 使用异步线程定时更新窗体标签内容,并对标签内容进行求和显示
这是我在面试过程中遇到的一个小测试,很可惜,当天未能圆满完成,虽然第二天经过实际测试已经OK 了,但学无止境,继续努力吧,特将此代码贴在这里,供以后学习使用;
namespace mytest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = ;
timer1.Enabled = true; } public delegate void mydelegate( );
public mydelegate myway;
public mydelegate myway2;
private void check(object obj)
{
myway(); }
private void check2(object obj)
{
myway2(); }
private void add1( )
{ int i = Convert.ToInt32(label1.Text);
i++;
if (!this.IsHandleCreated || this.IsDisposed) return;
if (InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{ label1.Text = i.ToString(); });
}
else
{ } } private void add2()
{ int i = Convert.ToInt32(label2.Text);
i++;
if (!this.IsHandleCreated || this.IsDisposed) return;
if (InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{ label2.Text = i.ToString(); int j = Convert.ToInt32(label1.Text);
j = j + i;
label3.Text = j.ToString(); });
}
else
{ } } private void Form1_Load(object sender, EventArgs e)
{
myway += new mydelegate(add1);
myway2 += new mydelegate(add2);
} private void timer1_Tick(object sender, EventArgs e)
{ ThreadPool.QueueUserWorkItem(new WaitCallback(check), null);//执行线程池
ThreadPool.QueueUserWorkItem(new WaitCallback(check2), null);//执行线程池
}
}
}
窗体界面如下:
C#完成 使用异步线程定时更新窗体标签内容,并对标签内容进行求和显示的更多相关文章
- java 子线程定时去更改主线程的变量
在一次代码编写场景,需要post一些数据,同时携带获得的token,(但是token的有效时间是7200s),但是post需要很多次,很长时间,不可能2小时候中断程序,手动去获取token,这样效率太 ...
- 安卓 异步线程更新Ui
异步跟新UI: 1.handler+Thread(runnable):如果handler和Thread都写在了一个Java文件中,就不说了,如果runnable定义在了一个单独的类文件中,可以通过在构 ...
- celery介绍、架构、快速使用、包结构,celery执行异步、延迟、定时任务,django中使用celery,定时更新首页轮播图效果实现,数据加入redis缓存的坑及解决
今日内容概要 celery介绍,架构 celery 快速使用 celery包结构 celery执行异步任务 celery执行延迟任务 celery执行定时任务 django中使用celery 定时更新 ...
- Android中使用异步线程更新UI视图的几种方法
在Android中子线程是不能更新ui的. 所以我们要通过其他方式来动态改变ui视图, 1.runOnUiThreadactivity提供的一个轻量级更新ui的方法,在Fragment需要使用的时候要 ...
- C#子线程中更新ui
本文实例总结了C#子线程更新UI控件的方法,对于桌面应用程序设计的UI界面控制来说非常有实用价值.分享给大家供大家参考之用.具体分析如下: 一般在winform C/S程序中经常会在子线程中更新控件的 ...
- Java专业技能面试问题(不定时更新)
刚看到园友五月的仓颉<面试感悟----一名3年工作经验的程序员应该具备的技能>感觉很不错,不论是为面试跳槽准备,还是打算深化精进自己的技术都可以参考一下.面向工资编程多少也有点道理,虽然技 ...
- AsyncTask实现异步线程通信
AsyncTask是Android1.5开始提供的一个封装了Thread与Handler可以实现异步线程的简单方式,不需要再自己实现子线程,然后在主线程处接受数据. 因为AsyncTask是用线程池, ...
- android AsyncTask异步下载并更新进度条
AsyncTask异步下载并更新进度条 //如果不是很明白请看上篇文章的异步下载 AsyncTask<String, Integer, String> 第一个参数:String 传入 ...
- 【基础】多线程更新窗体UI的若干方法
一.前言 在单线程中设置窗体某个控件的值很简单的事,只需要设置控件文本的值就可以了,但是有的业务场景很是复杂,界面上的控件也很多,这种情况下当数据量比较多的时候,在单线程中更新UI不可避免地会发生假死 ...
随机推荐
- Nginx 核心配置-可优化配置参数
Nginx 核心配置-可优化配置参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.nginx的官网查看指令帮助信息方法 1>.打开nginx的官网(https://ng ...
- 数据分析——python基础
前言:python数据分析的基础知识,简单总结,主要是为了方便自己写的时候查看(你们可能看不太清楚T^T),发现有用的方法,随时补充,欢迎指正 数据分析专栏: 数据分析--python基础 数据分析- ...
- Kibana 学习资料
Kibana 学习资料 网址 Kibana 官方文档 https://s0www0elastic0co.icopy.site/guide/en/kibana/current/introduction. ...
- php提示Undefined index的解决方法
我们在做php开发时有时可能会提示Notice: Undefined index: *** on line 249,出现上面这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用, ...
- 【java异常】redis.clients.jedis.exceptions.JedisConnectionException: Could not get a res
产生此错误的原因通常是: 一.Redis没有启动: 我自己遇到一次这样的问题.汗! 二.由于防火墙原因无法连接到Redis; 1.服务器防火墙入站规则. 2.访问Redis的应用程序所在主机的出站规则 ...
- LeetCode 1034. Coloring A Border
原题链接在这里:https://leetcode.com/problems/coloring-a-border/ 题目: Given a 2-dimensional grid of integers, ...
- Burnside引理
参考了神仙gzy的博客 置换:把一个排列变成另外一个排列,简单来说就是一一映射. 置换群:置换的集合. 置换即给定一个排列\({f_1,f_2,...,f_n}\),若其作用在一个排列上,则这个排列置 ...
- Python语言基础考察点:python语言基础常见考题(一)
一.python是静态还是动态类型?是强类型还是弱类型? 1.动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2.动态还是静态指的是编译期还是运行期确定类型 3.强类型指的是不会发生隐式类型转 ...
- 有趣的js代码
for ( ; ; ) { window.alert(" ∧_∧ ババババ\n( ・ω・)=つ≡つ\n(っ ≡つ=つ\n`/ )\n(ノΠU\n何回閉じても無駄ですよ-ww\nm9(^Д^) ...
- Cannot find class in classpath解决方法
1)Build Path出问题了 build path出问题了 ,java工程名前会有一个红色的感叹号,重新build一下 工程名上右键——>Build Path ——>Configure ...