Ich habe seltsames Problem.C# Form eines Formulars ist auf separaten Thread
Ich habe 3 Formen. Formular1, Formular2, Formular3.
Formular1 ist Start/Hauptformular. in form1 Ich habe Code:
form2 f2 = new form2;
f2.ShowDialog();
form2 öffnet, kann ich nicht auf foorm1 konzentrieren, sind sie beide auf dem gleichen Thread. Genau was ich will.
Auf form2 Ich habe Code:
form3 f3 = new form3;
DialogResult result = f3.ShowDialog();
ich diesen Code ausführen und ... Für einige unbekannt für mich form3 auf neuen Thread läuft Vernunft und ich auf form2 konzentrieren können. Ich möchte nicht, dass das passiert. Ich habe keine Ahnung, warum dieses Formular3 auf neuem Thread läuft. Ich kann DialogResult nicht verwenden, weil es zu einem Fehler führt (Cross-Thread).
Es verhält sich, als ob ich f3.Show(), aber ich benutze f3.ShowDialog();
Als Sie im Voraus.
P.S.
Wenn ich
form3 f3 = new form3;
DialogResult result = f3.ShowDialog(this);
ich dies habe:
System.InvalidOperationException Code unhandled durch Benutzer war
Message = Cross-Thread-Betrieb nicht gültig: Control 'form2' zugegriffen von einem Thread anders als der Thread war es erstellt am.
auf dieser Linie:
DialogResult result = f3.ShowDialog(this);
Warum denken Sie, dass sie auf separaten Threads sind? –
@Conrad Frinx Das ist eine dumme Frage. Sie können die Thread-Nummer im Formular anzeigen und sogar die Anzahl der Threads in ProcExplorer – Hooch
@Hooch überprüfen. Ich bin nicht derjenige mit dem Problem. –