Benutzer mit den meisten Antworten
Fenster nur einmal öffnen

Frage
-
Hallo,
ich habe eine WindowsForms, welche über einen Link auf einer Webseite aufgerufen wird. Dahinter steckt eine XML-Datei mit der Dateiendung .preview. Sobald man darauf klickt öffnet sich die WindowsForm mit dem Inhalt der XML-Datei.
Ich möchte nun bei einem Klick auf eine andere preview-Datei, dass diese die offene WindowsForm mit dem neuen Inhalt aktualisiert und anzeigt. Die WindowsForm darf aber nicht neu geöffnet werden, falls sie schon offen ist.
Hoffentlich habe ich das Problem richtig beschrieben. Wie kann ich die Aufgabe angehen?
LG
Claudia
Antworten
-
Besten Dank. Dein Link hat mir weitergeholfen. Ich bin dann auf diese Lösung gestoßen:
http://www.hanselman.com/blog/TheWeeklySourceCode31SingleInstanceWinFormsAndMicrosoftVisualBasicdll.aspx
LG
Claudia
- Als Antwort markiert Claudia Salzwedel Dienstag, 26. März 2013 09:36
-
Hallo Claudia,
es geht wohl weniger um das Fenster sondern eher um die Anwendungsintanz, oder? Falls ja, schau mal hier:
http://stackoverflow.com/questions/93989/prevent-multiple-instances-of-a-given-app-in-net
Eigentlich solltest Du in den Projekteinstellungen auch die im Posting erwähnte Checkbox "Einzelinstanzanwendung erstellen" haben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Montag, 25. März 2013 16:45
- Als Antwort markiert Claudia Salzwedel Dienstag, 26. März 2013 09:36
Alle Antworten
-
Hallo Claudia,
es geht wohl weniger um das Fenster sondern eher um die Anwendungsintanz, oder? Falls ja, schau mal hier:
http://stackoverflow.com/questions/93989/prevent-multiple-instances-of-a-given-app-in-net
Eigentlich solltest Du in den Projekteinstellungen auch die im Posting erwähnte Checkbox "Einzelinstanzanwendung erstellen" haben.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Montag, 25. März 2013 16:45
- Als Antwort markiert Claudia Salzwedel Dienstag, 26. März 2013 09:36
-
Hallo zusammen,
Die Einstellung "Einzelinstanzanwendung erstellen" gibt es, soviel ich weiß, nur für Visual Basic-Projekte. Aber das, was sich dahinter verbirgt, kann man ohne große Mühe auch in C# erreichen. Beim Starten der Anwendung erstellt man ein systemweites EventWaitHandle und erfährt, ob das WaitHandle neu erstellt wurde oder - im Fall einer zweiten Instanz - im System bereits existierte. Wenn das EventWaitHandle bereits existierte, kann man über Remoting, Memory Mapped Files, oder Named Pipes mit der ersten Instanz kommunizieren und dort die gewünschte Logik ausführen. Entsprechende Berechtigungen vorausgesetzt.
Gruß
Marcel -
Besten Dank. Dein Link hat mir weitergeholfen. Ich bin dann auf diese Lösung gestoßen:
http://www.hanselman.com/blog/TheWeeklySourceCode31SingleInstanceWinFormsAndMicrosoftVisualBasicdll.aspx
LG
Claudia
- Als Antwort markiert Claudia Salzwedel Dienstag, 26. März 2013 09:36