如何多次更新textbox的值并显示?

好大一个土豆 2014-12-05 04:17:01
情况是这样的:
在Form1上有一个button,一个textbox。按下这个button将执行一些处理,在这些处理过程中,textbox的值需要多次更新并且在界面上显示出来。
而在这个过程中,我把变量值(多次改变)赋给textbox.Text后,单步执行可以看到textbox.Text的值已经改变了(多次),但是在Form1界面上的textbox区域并没有显示出这些变化,只会显示在button处理中最后赋予的那个值。
如何把这个过程中的值都显示出来呢?

本人新手,各位大神帮忙看看吧,多谢了!
...全文
262 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
好大一个土豆 2014-12-05
  • 打赏
  • 举报
回复
引用 3 楼 superior_yong 的回复:
今天CSDN论坛出啥问题了?帖子好多重复的~
提交后说服务器错误什么的,以为没发成功就又发了一次
好大一个土豆 2014-12-05
  • 打赏
  • 举报
回复
引用 7 楼 Z65443344 的回复:
[quote=引用 4 楼 zbzengbing 的回复:] [quote=引用 2 楼 Z65443344 的回复:] 因为代码放在了UI线程执行,阻塞了UI的显示,所以中间的结果你看不到 加上 Application.DoEvent(); 或者把代码放线程里执行
刚试了下,加Application.DoEvent(); 确实可以。 你说的“把代码放线程里执行”怎么做,可以先声明一个委托,然后再编写一个更新函数么? [/quote] 委托是需要的,在线程里更新UI控件需要用到委托 具体如何定义,搜一搜:委托操作UI,代码一大堆 至于如何开一个线程 引用system.Threading; 然后定义个线程对象 Thread th=new Thread(function); th.Start(); 你这个function函数就以线程方式执行了[/quote] 好的,我试试看,非常感谢!
於黾 2014-12-05
  • 打赏
  • 举报
回复
引用 4 楼 zbzengbing 的回复:
[quote=引用 2 楼 Z65443344 的回复:] 因为代码放在了UI线程执行,阻塞了UI的显示,所以中间的结果你看不到 加上 Application.DoEvent(); 或者把代码放线程里执行
刚试了下,加Application.DoEvent(); 确实可以。 你说的“把代码放线程里执行”怎么做,可以先声明一个委托,然后再编写一个更新函数么? [/quote] 委托是需要的,在线程里更新UI控件需要用到委托 具体如何定义,搜一搜:委托操作UI,代码一大堆 至于如何开一个线程 引用system.Threading; 然后定义个线程对象 Thread th=new Thread(function); th.Start(); 你这个function函数就以线程方式执行了
好大一个土豆 2014-12-05
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:

textbox.Text = textbox.Text +",";
// 过程结束
textbox.Text =  textbox.Text.TrimEnd(new char[] { ','});
把 textbox.Text 值赋值给一个变量,并加上分隔符。
这样应该就一次性全显示出来了,我要的是更新一次就显示当前更新的值 还是谢谢你!
於黾 2014-12-05
  • 打赏
  • 举报
回复
引用 3 楼 superior_yong 的回复:
今天CSDN论坛出啥问题了?帖子好多重复的~
因为整个下午,发帖都报错,但是实际上已经成功了 很多人都无脑直接点了提交
好大一个土豆 2014-12-05
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
因为代码放在了UI线程执行,阻塞了UI的显示,所以中间的结果你看不到 加上 Application.DoEvent(); 或者把代码放线程里执行
刚试了下,加Application.DoEvent(); 确实可以。 你说的“把代码放线程里执行”怎么做,可以先声明一个委托,然后再编写一个更新函数么?
忘丿殇 2014-12-05
  • 打赏
  • 举报
回复
今天CSDN论坛出啥问题了?帖子好多重复的~
於黾 2014-12-05
  • 打赏
  • 举报
回复
因为代码放在了UI线程执行,阻塞了UI的显示,所以中间的结果你看不到 加上 Application.DoEvent(); 或者把代码放线程里执行
exception92 2014-12-05
  • 打赏
  • 举报
回复

textbox.Text = textbox.Text +",";
// 过程结束
textbox.Text =  textbox.Text.TrimEnd(new char[] { ','});
把 textbox.Text 值赋值给一个变量,并加上分隔符。

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧