首页 新闻 会员 周边 捐助

奇怪的问题,Win Form中Label只能显示最后一条记录

0
悬赏园豆:20 [已解决问题] 解决于 2011-06-03 09:43

程序是C#写的,有一个窗体,假设名字叫FormA,有一个类B,假设叫ClassB,FormA上有一个按钮和一个label,点击按钮会调用ClssB的一个方法去执行特定的事件,我想要在事件执行的同时打印一些log,在FormA的label中显示。

于是我把label的访问级别改为public,然后将FormA作为参数传递给ClassB,在ClsssB中通过:FormA.label.text = "log"来打印日志。理想的情况是,在事件执行过程中,label本应逐一显示多条log,但是实际上这个label的text在事件执行过程中保持初始值,不会有任何变化,直到事件执行完毕,label直接显示最后一条log。或是事件中途执行出错,label直接显示出错前得最后一条log。

为了试验,把这个label换成textbox和button,用它们的text来显示都不行。

但是用窗口标题,即FormA.text来显示就是正常的。

不知道是哪里出问题了

只有20个豆豆了,倾家荡产求解释。希望各位莫嫌少

诚实小郎君的主页 诚实小郎君 | 初学一级 | 园豆:3
提问于:2011-06-02 14:58
< >
分享
最佳答案
0

我想应该是要在修改Label后加一句Application.DoEvents()

收获园豆:20
七月霄雨 | 小虾三级 |园豆:1282 | 2011-06-02 21:02
解决了,谢谢你
诚实小郎君 | 园豆:3 (初学一级) | 2011-06-03 09:42
其他回答(1)
0

FormA.label.text = "log"来打印日志

不是应该是 += "log"?

彭汉生 | 园豆:1233 (小虾三级) | 2011-06-02 17:09
你没理解我的意思,我不是要让所有的log都同时显示出来,第一条显示了,第二条覆盖掉第一条就行了
支持(0) 反对(0) 诚实小郎君 | 园豆:3 (初学一级) | 2011-06-02 17:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册