private void Discogs_NewStatusMessage(object sender, NewStatusMessageEventArgs e)
{
textBox1.Text += e.Message() + "\r\n";
}
我的表单上有上面的事件处理程序,我正在尝试更新表单上的文本框,以显示在类的代码中的不同点发生的消息,以显示进度。
所有消息都显示在文本框中,但在类代码完成之后才会出现。
我做错了什么?
答案 0 :(得分:3)
您应该将操作放在单独的线程上,然后在进行时调用UI线程。有关如何实现单独线程的信息,请参阅this帖子。
答案 1 :(得分:2)
您需要尝试刷新文本框,以便UI随更改一起更新。
答案 2 :(得分:0)
你可以使用的事件是TextChanged事件处理程序,这里是一个例子,当文本框为空时,背景在填充时变为深红色,背景变为默认颜色:
private void textBox1_TextChanged(object sender, EventArgs e){ if (this.textBox1.TextLength == 0) { this.textBox1.BackColor = System.Drawing.Color.Crimson; } else { this.textBox1.BackColor = System.Drawing.SystemColors.Window; } }
您明白了,您甚至可以将其设置为显示一个标签,显示使用TextLength属性输入的字符数,每次更新。
希望这有帮助, 最好的祝福, 汤姆。