label动态显示循环条数?

问题描述

for(inti=0;i<10;i++){label1.Text=i.ToString();}

这样写为什么不能动态显示呢,只有运行完了后显示一个9

解决方案

解决方案二:
label1.Text+=i.ToString();
解决方案三:
ps:这样只会直接显示0123456789要人肉眼可辨的0-->1-->2这样加上去,你得用backgroundworker
解决方案四:
因为程序运行太快了,你看不到你在循环里价格Thread.Sleep(1000);
解决方案五:
加个时间控件..每一秒变一个数
解决方案六:
引用3楼wangxm245的回复:

因为程序运行太快了,你看不到你在循环里价格Thread.Sleep(1000);

这样写的,也不会显示for(inti=0;i<100;i++){label1.Text=i.ToString();Thread.Sleep(1000);}

解决方案七:
加sleep,阻塞了,不会显示要么放timer里去,每秒+1,然后显示要么放线程里
解决方案八:
publicForm1(){InitializeComponent();Control.CheckForIllegalCrossThreadCalls=false;}ThreaddrawThread=null;privatevoidbutton1_Click(objectsender,EventArgse){closeThread();drawThread=newThread(newThreadStart(draw));drawThread.IsBackground=true;drawThread.Start();}privatevoiddraw(){try{for(inti=0;i<10;i++){label1.Text=i.ToString();Thread.Sleep(1000);}}catch(System.Exceptionex){MessageBox.Show("error");}closeThread();}//结束子线程privatevoidcloseThread(){if(drawThread!=null){if(drawThread.IsAlive){drawThread.Abort();}}}

起一个线程就好了
解决方案九:
引用5楼HQB313的回复:

Quote: 引用3楼wangxm245的回复:
因为程序运行太快了,你看不到你在循环里价格Thread.Sleep(1000);

这样写的,也不会显示for(inti=0;i<100;i++){label1.Text=i.ToString();Thread.Sleep(1000);}

三楼说得没错,是运行得太快了,肉眼没法观察for(inti=0;i<100;i++){Thread.Sleep(1000);Application.DoEvents();label1.Text=i.ToString();}改变label1的文本会触发事件重绘Text,因为循环去改变所以程序已经帮你优化了不再执行触发事件重绘Text,也就是你说的显示不出来,加上Application.DoEvents();会让它继续执行触发事件,这时你就能看见了注意使用DoEvents()会出现哪些问题,自己查看相关资料
解决方案十:
不知道楼主想干嘛。想做进度条吗?亲,进度条不是这么做的。
解决方案十一:
引用9楼youzelin的回复:

不知道楼主想干嘛。想做进度条吗?亲,进度条不是这么做的。

就是想做一个简单的显示,现在循环到第几条数据了
解决方案十二:
引用10楼HQB313的回复:

Quote: 引用9楼youzelin的回复:
不知道楼主想干嘛。想做进度条吗?亲,进度条不是这么做的。

就是想做一个简单的显示,现在循环到第几条数据了

还是进度啊,这是没有“条”了,亲,不带这么玩的。要找BackgroundWorker帮忙哦!
解决方案十三:
用timer控件,或者用子线程
解决方案十四:
用timer控件。一个timer控件+一个label控件usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespacegundong_Label{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();button2.Enabled=false;}privatevoidtimer1_Tick(objectsender,EventArgse){label1.Left-=3;//设置label1左边缘与其容器的工作区左边缘之间的距离if(label1.Right<0)//当label1右边缘与其容器的工作区左边缘之间的距离小于0时{label1.Left=this.Width;//设置label1左边缘与其容器的工作区左边缘之间的距离为该窗体的宽度}}//开始演示privatevoidbutton1_Click(objectsender,EventArgse){timer1.Enabled=true;//开始滚动button2.Enabled=true;}//单击暂停按钮privatevoidbutton2_Click(objectsender,EventArgse){timer1.Enabled=false;//停止滚动button2.Enabled=false;}//退出privatevoidbutton3_Click(objectsender,EventArgse){this.Close();}}}

解决方案十五:
哦哦,不好意思,原来代码是不能附加样式的,本来想给这段关键代码加红色的哈,privatevoidtimer1_Tick(objectsender,EventArgse){label1.Left-=3;//设置label1左边缘与其容器的工作区左边缘之间的距离if(label1.Right<0)//当label1右边缘与其容器的工作区左边缘之间的距离小于0时{label1.Left=this.Width;//设置label1左边缘与其容器的工作区左边缘之间的距离为该窗体的宽度}}

解决方案:
引用11楼youzelin的回复:

Quote: 引用10楼HQB313的回复:
Quote: 引用9楼youzelin的回复:
不知道楼主想干嘛。想做进度条吗?亲,进度条不是这么做的。

就是想做一个简单的显示,现在循环到第几条数据了

还是进度啊,这是没有“条”了,亲,不带这么玩的。要找BackgroundWorker帮忙哦!

for(inti=0;i<10;i++){i1=i;//前面定义了一个全局的i1backgroundWorker1.RunWorkerAsync();}privatevoidbackgroundWorker1_RunWorkerCompleted(objectsender,RunWorkerCompletedEventArgse){label1.Text.Text=ToString();}privatevoidbackgroundWorker1_DoWork(objectsender,DoWorkEventArgse){//这个地方不知道怎么写了}

解决方案:
楼上都说完了,我还能说什么呢
解决方案:
引用15楼HQB313的回复:

Quote: 引用11楼youzelin的回复:
Quote: 引用10楼HQB313的回复:
Quote: 引用9楼youzelin的回复:
不知道楼主想干嘛。想做进度条吗?亲,进度条不是这么做的。

就是想做一个简单的显示,现在循环到第几条数据了

还是进度啊,这是没有“条”了,亲,不带这么玩的。要找BackgroundWorker帮忙哦!

for(inti=0;i<10;i++){i1=i;//前面定义了一个全局的i1backgroundWorker1.RunWorkerAsync();}privatevoidbackgroundWorker1_RunWorkerCompleted(objectsender,RunWorkerCompletedEventArgse){label1.Text=i1.ToString();}privatevoidbackgroundWorker1_DoWork(objectsender,DoWorkEventArgse){//这个地方不知道怎么写了}

这个要怎样写代码?
解决方案:
backgroundworker_dowork中要做的就是需要循环处理的代码。backgroundWorker1_RunWorkerCompleted是后台线程结束后,需要做的处理。
解决方案:
运行太快了,你看不到,用timer控件,在timer事件中添加给label赋值;设置timer的间隔事件;要么在原有for循环中添加threed.sleep(5000);//单位毫秒
解决方案:
并不是运行太快,是因为for(inti=0;i<10;i++){label1.Text=i.ToString();}

这段代码,会阻塞UI线程直到执行完毕才会刷新UI,如果是winform可以用Application.Doevents()方法。或者采用子线程,或者用Timer,总之都能解决。for(inti=0;i<10;i++){label1.Text=i.ToString();Application.Doevents();}

解决方案:
引用17楼HQB313的回复:

Quote: 引用15楼HQB313的回复:
Quote: 引用11楼youzelin的回复:
Quote: 引用10楼HQB313的回复:
Quote: 引用9楼youzelin的回复:
不知道楼主想干嘛。想做进度条吗?亲,进度条不是这么做的。

就是想做一个简单的显示,现在循环到第几条数据了

还是进度啊,这是没有“条”了,亲,不带这么玩的。要找BackgroundWorker帮忙哦!

for(inti=0;i<10;i++){i1=i;//前面定义了一个全局的i1backgroundWorker1.RunWorkerAsync();}privatevoidbackgroundWorker1_RunWorkerCompleted(objectsender,RunWorkerCompletedEventArgse){label1.Text=i1.ToString();}privatevoidbackgroundWorker1_DoWork(objectsender,DoWorkEventArgse){//这个地方不知道怎么写了}

这个要怎样写代码?

是WinForm吗,是的话直接强制lab重绘就行了,用LaB_1.Refresh();就可以了....
解决方案:
.Net4.0最简单了。Task.Factory.StartNew(()=>{for(inti=0;i<10000000;i++){this.Dispatcher.Invoke(newAction(()=>{label1.Text=i.ToString();}));}});

解决方案:
循环显示1~100数字例子classprogram{staticvoidMain()//入口方法{for(inti=1;i<=100;i++)//开始for循环{System.Console.WriteLine(i);//输出i的值}System.Console.ReadLine();//等待回车继续}}//输出1~100数字

时间: 2024-09-20 06:05:42

label动态显示循环条数?的相关文章

sql-关于单表SQL存储过程查询。分页条数,当前页码,总条数的问题

问题描述 关于单表SQL存储过程查询.分页条数,当前页码,总条数的问题 我实现PUB_AREA 表的数据查询, 上面是我写的调试, 指出在下面and处报错,无布尔类型,不知道到底哪里错了- - declare @TotalNum intexec PUB_AREA_SelectAREACITYByHsfSearchss ''101@TotalNum outputselect @TotalNumalter PROCEDURE [dbo].[PUB_AREA_SelectAREACITYByHsfSe

ropdrownlist abel-如何实现将Dropdrownlist选中项的ID动态赋值给Label动态显示?

问题描述 如何实现将Dropdrownlist选中项的ID动态赋值给Label动态显示? 我在DataList里面嵌套了一个Dropdrownlist和一个Label,已经为Dropdrownlist绑了数据集.我的问题是:我如何实现将Dropdrownlist选中项的ID动态赋值给Label动态显示呢?Dropdrownlist所绑定数据集形式如下: DataSet myds = new DataSet(); Dropdrownlist.DataSource = myds; Dropdrown

用于查询当前数据库中所有表格的记录条数的脚本

脚本|数据|数据库 --==========================================================================-- 说明: 本脚本用于查询当前数据库中所有表格的记录条数--   并将结果存入TableInfo表中,不会删除以备用户再做处理与分析--   不过,最后请用户删除此表.--========================================================================== if

oracle中如何按指定条数批量处理

示例 --每处理10000条提交一次 loop insert into t2 select * from t1 where rownum <= 10000;  --每次插入10000条 delete from t1 where rownum <= 10000;    --每次删除10000条 v_rowcount := sql%rowcount; commit; exit when v_rowcount < 10000;      --如果提交条数小于10000,说明已经是最后一次处理

listview分页加载,获取总条数

问题描述 listview分页加载,获取总条数 listview访问后台数据库进行分页加载,怎么得到数据的总条数,然后对其进行判断分页加载.总条数是需要后台服务器传过来的么,还是-- 解决方案 如果要获取总条数 都是要从服务器传过来,.

oracle10g-在查询结果列中添加rownum列,查询出的条数增多

问题描述 在查询结果列中添加rownum列,查询出的条数增多 sql语句结构 select rownum as tempNum, ..... from (select ..... where.... order by AD.detailaddressstr, CUSTOMEREN.CUSTOMERADDRSTR) temp where (case when ... then ...else end); 如果查询结果列中有rownum,查询出的数据会比不添加rownum的结果列多出很多. Orac

最短路径条数-spark graphx框架下怎样求两点间最短路径的条数

问题描述 spark graphx框架下怎样求两点间最短路径的条数 我使用spark的graphx图计算框架,现在要求一个图中所有节点对的最短路径条数, graphx下的pregel迭代貌似使用的是类迪杰斯特拉算法,要求最短路径长度很容易, 但是要求条数,我实在是想不出来怎么求,希望各位大神解答,最好能有源码,实在 没有,有思路也可以,万分感谢!!!

c-一个5*6的二维数组,灰色的相当于1,白色相当于0,然后要你写个算法计算出计算出黑色的边的条数。

问题描述 一个5*6的二维数组,灰色的相当于1,白色相当于0,然后要你写个算法计算出计算出黑色的边的条数.

android-Android,不知道listView的条数,怎么对其监听?

问题描述 Android,不知道listView的条数,怎么对其监听? 抱歉,很穷没积分!!! 描述: ListView里面,不知道其具体的item数量,点击item要跳转,并显示对应内容 这种情况就不能用switch(position) case: 0 1 2..来监听 有大神支招吗? 解决方案 为什么要知道数量呢.监听是同一个的.另外,你跳转根据position? 解决方案二: position就是item的位置(从0开始),在onItemClick方法中实现需求代码. listView.s