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

程序是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来显示就是正常的。

不知道是哪里出问题了


慕沐林林
浏览 653回答 2
2回答

30秒到达战场

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

胡子哥哥

FormA.label.text = "log"来打印日志不是应该是 += "log"?
打开App,查看更多内容
随时随地看视频慕课网APP