将列表框更新为最近的项目c#
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将列表框更新为最近的项目c#相关的知识,希望对你有一定的参考价值。
我有2个程序:客户端和服务器。
此客户端将每隔1分钟不断向服务器发送数据(temp,payload,clientID)。服务器将在其列表框中显示数据。
问题是,我无法让我的列表框显示来自客户端的最新数据。
至于现在我在我的printMessage方法中使用下面。
this.listBox1.Refresh();
以下是我的完整printMessage方法:
private void printMessage(string x)
{
//listBox1.Items.Add(DateTime.Now + x);
//return;
if (x.Trim().Length == 36)
{
if (this.listBox1.InvokeRequired)
{
printMessageCallback d = new printMessageCallback(printMessage);
this.Invoke(d, new object[] { x });
}
else
{
this.listBox1.Items.Add("Client ID :" + x);
this.listBox1.Refresh();
}
//sendtoAgent();
}
else if (x.Length == 1)
{
if (this.listBox1.InvokeRequired)
{
printMessageCallback d = new printMessageCallback(printMessage);
this.Invoke(d, new object[] { x });
}
else
{
this.listBox1.Items.Add("Barrier Payload :" + x);
this.listBox1.Refresh();
}
}
else
{
if (this.listBox1.InvokeRequired)
{
printMessageCallback d = new printMessageCallback(printMessage);
this.Invoke(d, new object[] { x });
}
else
{
this.listBox1.Items.Add("" + x);
this.listBox1.Refresh();
}
}
}
到目前为止,它不起作用。
请帮助。
谢谢。
答案
当SelectionMode = None时,ListBox SelectionMode有时会导致问题。
你可以试试
listBox1.SelectionMode = SelectionMode.MultiExtended;
listBox1.Refresh();
listBox1.SelectionMode = SelectionMode.None;
以上是关于将列表框更新为最近的项目c#的主要内容,如果未能解决你的问题,请参考以下文章
片段中的 notifyDataSetChanged() 不刷新列表视图
C#WPF如何在由数据模板中的对象列表组成的列表框中设置项目[重复]