C#文本框在循环时不显示赋值

请问,是不是要设置那里吧,在调试的时候,我想看到文本框里的值是,0变成1变成2变成3变成4变成5这样下去... 请问,是不是要设置那里吧,在调试的时候,我想看到文本框里的值是,0变成1变成2变成3变成4变成5这样下去 展开
 我来答
百度网友7695b6b
推荐于2016-01-14 · TA获得超过165个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:120万
展开全部

两个原因,一是循环太快了,点下去就已经结束了,二是单线程需要刷新控件

这么改

for(int gb=0;gb<100;gb++)

    this.textBox1.Text = gb.ToString();
    this.textBox1.Refresh();
    System.Threading.Thread.Sleep(10);
}
更多追问追答
追问
难道在调试的时候也叫快了
追答
如果是单步调试,那你需要刷新控件 Refresh()
主线程在空闲时才会更新控件view层,所以如果不主动请求刷新,即便是单步调试也不会看到控件上显示新的数据,即便已经赋值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
greystar_cn
2015-04-08 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
你这个速度太快了,界面也来不及反应就直接过了到最后一步了。
每一次迭代过程中,需要让界面来得及响应。
你这也不是多线程的问题。没有跨线程调用。
让程序暂停下就可以看到结果了。
用backgroundworker来解决你要的问题吧
追问
不是快的原因,我在调试的时候,好慢,2秒钟才下一步,就是看不到文本框中有值,一值到大括号结束才有99
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ce7f3ccb4
2015-04-08 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1910万
展开全部
肯定啊,文本值只显示你的最后一次赋值的结果撒!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dyzeke
2015-04-08 · TA获得超过208个赞
知道小有建树答主
回答量:676
采纳率:60%
帮助的人:327万
展开全部
这个是因为单线程
你得用我线程,加委托才可以显示
追问
请问代码怎样写吧,能不能写个例子呢
追答
先给你一个简单的办法
你可以在你的显示语句后面加入一句

Application.DoEvents();

不过这样显示,你的100个数的循环太小了,你可以加到10000看效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活he家
2015-04-08 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
是不会显示的你需要开线程
追问
新手求请教,怎样开线程啊,写个代码来看看咯
追答
这个自己查阅一下资料吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式