Ich schreibe eine Anwendung, die zwei Anzeigen benötigt: eine für das Bedienfeld, die andere für die Ausgabe. Was ich habe, ist folgendes: Wenn es nur ein Display gibt, zeigt die Anwendung beide Formulare an, aber wenn es zwei gibt, geht das Ausgabeformular zum anderen. Das Problem ist, dass dies nur passiert, wenn die Anwendung gestartet wird. Mit anderen Worten, wenn die Anwendung bereits läuft, bevor die zweite Anzeige verbunden ist, passiert nichts, außer der Benutzer sendet die Ausgabe manuell an die neue Anzeige (vorausgesetzt, sie wissen, wie es geht). Was ich will ist, dass, wenn eine neue Anzeige verbunden ist, das Ausgabeformular automatisch gesendet wird, auch während die Anwendung läuft. Ich denke, es hat damit zu tun, einen Port in einem Thread abzufragen, aber ich weiß nicht, wie ich das machen soll. Kann mir jemand helfen, wie es geht? Wenn es eine bessere Lösung gibt, werde ich es gerne begrüßen.Erkennen, wenn neue Anzeige verbunden ist
(ich würde einen Teil des Codes zur Verfügung gestellt haben, aber ich schreibe dies von einem Telefon)
Sie könnten eine Abfrageschleife regelmäßig überprüfen für eine neue Anzeige in einem Hintergrund-Thread/Hintergrund-Arbeiter erstellen. Z.B. Lesen Sie die Eigenschaft ['Screen.AllScreens'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.allscreens.aspx) und führen Sie Code aus, wenn der Wert '> 1' ist . –
Das ist, woran ich gedacht habe, aber ich brauche Code, wie es geht. Ich habe Probleme mit dem Schreiben von Threads. Kannst du helfen? – afaolek
Sie können diese Klasse verwenden: http://msdn.microsoft.com/en-us/library/system.windows.forms.screen(v=vs.100).aspx Und Sie können den BackgroundWorker verwenden: http: // msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker(v=vs.100).aspx – Davio