Ich kann es nicht glauben, das funktioniert in meiner anderen Anwendung, aber in diesem, die ähnliche Struktur hat - tut es nicht!Rufen Sie aus anderen Thread
public string ListAdd
{
set
{
if (listView1.InvokeRequired)
{
this.Invoke((MethodInvoker)delegate
{
listView1.Items.Add(value);
});
}
else
{
listView1.Items.Add(value);
}
}
}
So wie ich es nennen:
var formz = Form.ActiveForm as Form1;
if (formz != null)
formz.ListAdd = "asdasdasdasd";
Wenn ich es von der Funktion aufrufen, wo ich Paket empfangen über TCP (ich es auf dem Listview setzen wollen) - Es passiert nichts, aber wenn ich nenne es in derselben Klasse, in der ich WinSock initialisiere - es funktioniert.
Wo könnte das Problem liegen?
EDIT: Ich habe gerade die Anwendung debugged, Formz ist null an der Stelle, die ich es nenne (Funktion empfangen). Warum ist es dort Null, aber an keinem anderen Ort?
Sie sollten in einem Property-Setter keine Arbeit wie diese ausführen. Erwägen Sie, sie in eine Methode zu ändern. –