我要创建一个状态列表框,它表示一个服务器,基本上说“服务器已启动” “正在连接”等。但是我的问题是我没有让列表框运行。我不知道如何开始在ListBox中的循环,所以它显示任何内容。我必须使用触发器来启动它吗?
我尝试了Application.run()但还是行不通 和一会儿(true)循环,但这里也没有
private void chatverlauf_SelectedIndexChanged(object sender, EventArgs e)
{
chatverlauf.Items.Add(" TEST ");
}
我希望它立即生效,就像在程序开始显示“ TEST”时我想要的展示代码一样
答案 0 :(得分:0)
您需要一个计时器,该计时器每次运行时,要么更新列表视图的当前项目,要么清除并重新添加新项目:
Timer timer = new Timer{ Interval = 60000, Enabled = true }; //every minute
timer.Tick += (s, e) =>
{
chatverlauf.Items.Clear();
var StatusList = ... // get list of servers' status
chatverlauf.SuspendLayout();
foreach(var s in StatusList)
{
chatverlauf.Items.Add(new ListViewItem(new string[]{s.Name, s.Status});
}
chatverlauf.RsumeLayout();
};