【发布时间】:2015-03-23 15:03:46
【问题描述】:
我做了一个非常简单的聊天程序。它所做的只是将消息另存为 txt 文件中的新行,并将该 txt 文件显示在富文本框中。我遇到的问题是用户必须单击“更新”才能更新聊天日志。我编写了一个循环,每秒检查是否有新消息,但是这会锁定表单,如果用户想在此期间发送消息,他们需要终止表单。
这有可能吗?在 txt 文档中添加新行时自动更新聊天记录,甚至定期更新?
目前我使用的是这个:
$i = 1
While ($i -eq 1)
{
sleep -Seconds 1
$BEFORE = $richtextbox1.Text
$CHATLOG = "\\NetworkShareEveryoneHasAccess\Chat.txt"
$TOOUTPUT = Get-Content $CHATLOG | Out-String
$richtextbox1.Text = $TOOUTPUT
$AFTER = $richtextbox1.Text
if ($BEFORE -ne $AFTER)
{
$i = 0
$richtextbox2.Enabled = $true
$richtextbox2.SelectionStart = $richtextbox2.TextLength;
$richtextbox2.ScrollToCaret()
$richtextbox2.Focus()
}
}
同样,这个问题是在检查是否有新消息(txt 文件中的新行)时冻结表单。
由于我对 PowerShell 的了解有限,我想说这是不可能的,但正如我所说,我的 PowerShell 知识是有限的。
【问题讨论】:
标签: powershell chat freeze