程序是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个豆豆了,倾家荡产求解释。希望各位莫嫌少
我想应该是要在修改Label后加一句Application.DoEvents()
FormA.label.text = "log"来打印日志
不是应该是 += "log"?