如何将消息框消息移动到列表

时间:2016-10-26 06:52:26

标签: c# .net winforms c#-4.0 windows-forms-designer

我有一个应用程序,我经常生成状态消息。我将所有这些消息打印到消息框。而不是使用消息框我想使用列表框或多行文本框。我该怎么办呢。

void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
{
    publishstatusTextbox.Items.Insert(0, DateTime.Now.ToString("hh:mm:ss:fff") + "MessageID=");
}

我遇到了异常

  

交叉线程操作无效“publishstatusListbox”是从其创建的线程以外的线程访问的

1 个答案:

答案 0 :(得分:0)

你会想要做这样的事情,将所有错误分组,然后将它们全部放在一个消息框中。

var errors = new List<string>();

try
{ 
    //your code here 
}
catch(Exception ex) {
    errors.Add(ex.InnerException.ToString());
}

var sb = new StringBuilder();
foreach (var errorMessage in errors)
{   
    sb.AppendLine(errorMessage);
}

if (errors.Count > 0)
{
    MessageBox.Show(sb.ToString(), "Errors Present", MessageBoxButton.OK, MessageBoxImage.Error);
}