0

我有一个带有标签 A、B 和 C 的表单。在静态 void Main()中,我说:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
Application.Run(form1);

Form1 构造函数调用

InitializeComponent();
updateForm();

其中 updateForm 从远程机器读取日志 ((FtpWebRequest)WebRequest) 并适当地更新标签。

我想不断更新表单,因为远程日志文件每隔几分钟就会更改一次。

我尝试在 main 方法的 while(true) 循环中调用 form1.updateLog(),但表单没有刷新。此外, form1.Refresh() 似乎不起作用。

有什么提示吗?谢谢。

4

1 回答 1

1

当您在循环中执行此操作时,很可能是在 UI 线程上。这意味着您不断地告诉表单重新绘制,但不给它时间或机会这样做(请记住:您正在阻止它将执行此操作的线程)。

而是使用计时器并从那里刷新,例如每 100 毫秒左右。

于 2012-07-25T15:56:51.350 回答