как я могу добавить подпункты списка в процессе BeginInvoke -> myDelegate?
Я пробовал разные варианты решений, но всегда с ошибкой!
Большое спасибо за помощь!
public delegate ListViewItem myDelegate(string aItem);
...
if (InvokeRequired)
{
ListViewItem lvwItem = new ListViewItem();
lvwItem.Text = strMessage;
lvwItem.SubItems.Add(".2.");
BeginInvoke(new myDelegate(listView1.Items.Add), new string[] { strMessage }); //works with a var of type string, but not for more Subitems.add()
}
Я нашел ответ, но не могу опубликовать его как ответ, потому что мне нужно подождать 7 часов ....
я нашел решение без сбоев моего многопоточного приложения ... я тупой;)
в моем делегате я использовал String вместо Listviewitem!
public delegate ListViewItem myDelegate2(ListViewItem aItem);
...
if (InvokeRequired)
{
//BeginInvoke(new myDelegate(listView1.Items.Add), new object[] { strMessage });
ListViewItem lvwItem = new ListViewItem();
lvwItem.Text = strMessage;
lvwItem.SubItems.Add(".2.");
BeginInvoke(new myDelegate2(listView1.Items.Add), new object[] { lvwItem });
}