【发布时间】:2016-05-08 02:47:32
【问题描述】:
我创建了一个 Windows 窗体控制台应用程序,我正在其中读取由另一个控制台应用程序写入的文件。 另一个控制台应用程序将写入某个进程的状态,Windows 窗体应用程序将读取状态并相应地更新状态文本框。 我为上述场景编写了以下代码。
while (true)
{
if ((new FileInfo(filename)).Length > 0)
{
Status = File.ReadAllText(filename, Encoding.ASCII);
System.IO.File.WriteAllText(filename, string.Empty);
Statustb.Text = Status;
Statustb.Refresh();
if (Status.Equals("Data Got Loaded"))
{
Environment.Exit(0);
}
}
}
当我运行 Windows Forms 应用程序时,它显示“Form Not Responding”,但是当我注释掉这些行时,它会顺利运行。但对我来说,更新状态很重要。
【问题讨论】:
-
从不,never,never 在 GUI 代码中编写
while(true)循环。使用计时器。