Ich habe einen einfachen Code, aber das funktioniert nicht, wie dieses Problem zu beheben, der Thread ausgeführt wird, aber Listview aktualisiert nicht, was das Problem ist, kann jemand nur erklären?Wie füge ich Einträge in listview mit thread hinzu?
public Form1()
{
InitializeComponent();
listView1.View = View.Details;
listView1.FullRowSelect = true;
listView1.Columns.Add("Problems", 80);
listView1.Columns.Add("Data", 120);
listView1.Columns.Add("Registry Key", 130);
listView1.Columns.Add("users", 80);
Thread childThread = new Thread(getlist);
childThread.Start();
}
public void getlist()
{
int i;
for (i = 0; i < 40; i++)
{
add("a", "b", "c", "d");
}
}
public void add(string prob, string reg, string data, string user)
{
String[] row = { prob, reg, data, user };
ListViewItem item = new ListViewItem(row);
ListViewItem v = listView1.Items.Add(item);
item.Checked = true;
}
Sie vergessen, den Thread zu starten. 'childThread.Start()' – dotctor
Sie werden auch ein Problem haben, dessen Lösung [hier] ist (http://stackoverflow.com/questions/142003/cross-thread-operation-not-valid-control-accessed-from- a-thread-other-than-the-rq = 1) – dotctor
Was passiert, wenn Sie Code direkt auf dem UI-Thread ausführen (wie es eigentlich sein sollte) –