Wie kann ich ein unsichtbares Startformular erstellen?

8

Ich habe eine Anwendung, die Teil einer Projektlösung ist. In diesem Projekt möchte ich für das Formular starten, um unsichtbar zu sein, aber immer noch ein Benachrichtigungssymbol in der Taskleiste für dieses Formular sichtbar.

Ich weiß, dass das Hinzufügen von me.hide in form_load nicht funktioniert. Ich habe versucht, ein Modul hinzuzufügen, das das Startformular instanziiert, und ich habe es als das Startobjekt festgelegt. Obwohl das auch nicht funktioniert hat. Mir gehen die Ideen aus, diese Form unsichtbar zu machen. Könnte jemand aushelfen? Ich benutze VB.NET.

    
user1632018 12.09.2012, 17:50
quelle

6 Antworten

16
___ qstnhdr ___ Wie kann ich ein unsichtbares Startformular erstellen? ___ qstntxt ___

Ich habe eine Anwendung, die Teil einer Projektlösung ist. In diesem Projekt möchte ich für das Formular starten, um unsichtbar zu sein, aber immer noch ein Benachrichtigungssymbol in der Taskleiste für dieses Formular sichtbar.

Ich weiß, dass das Hinzufügen von %code% in %code% nicht funktioniert. Ich habe versucht, ein Modul hinzuzufügen, das das Startformular instanziiert, und ich habe es als das Startobjekt festgelegt. Obwohl das auch nicht funktioniert hat. Mir gehen die Ideen aus, diese Form unsichtbar zu machen. Könnte jemand aushelfen? Ich benutze VB.NET.

    
___ answer42003723 ___

Verwenden Sie %code% , um das Formular beim Ladevorgang auszublenden.

Verwenden Sie dann den folgenden Code in der Form. Show event

%Vor%     
___ answer12394283 ___

Nur um einen völlig anderen Ansatz auszuprobieren, haben Sie nicht mit der Überladung von %code% in Betracht gezogen, die ein %code% benötigt (und automatisch anzeigt)? Wenn Sie den Wert verwenden, der in %code% (oder genauer gesagt, in Ihrer eigenen Unterklasse von %code% ) übergeben wird, können Sie wählen, wie Ihr Verhalten aussieht. Sehen Sie hier für mehr Details:

Ссылка

    
___ answer25835217 ___

Der einfachste Weg ist, die Deckkraft des Formulars auf 0% zu setzen. Wenn es angezeigt werden soll, setze es auf 100% zurück

    
___ answer44809029 ___

Hier ist ein anderer Weg, wie ich das gefunden habe.

Legen Sie die Formulareigenschaften mit

fest %Vor%

Fügen Sie dann im Konstruktor des Formulars

hinzu %Vor%

Dies ist sehr einfach zu implementieren und funktioniert ohne Flimmern. In meinem Fall benutze ich auch eine NotifyIcon, um vom Benachrichtigungstray auf das Programm zuzugreifen und stelle einfach

ein %Vor%

Im Notify_MouseClick-Ereignishandler.

Um das Formular nach der Anzeige wieder auszublenden, reicht es nicht aus, es erneut zu minimieren. In meinem Fall verwende ich das Form_Closing-Ereignis und verstecke das Formular einfach.

%Vor%     
___ answer12393822 ___

Fügen Sie dies in das Shown-Ereignis des Formulars ein

%Vor%     
___ tag123vbnet ___ Visual Basic.NET (VB.NET) ist eine verwaltete, typsichere, objektorientierte Computerprogrammiersprache mit mehreren Paradigmen. Zusammen mit C # und F # ist es eine der Hauptsprachen für .NET Framework. VB.NET kann als eine Weiterentwicklung von Microsoft Visual Basic 6 (VB6) betrachtet werden, ist aber auf dem Microsoft .NET Framework implementiert. Verwenden Sie dieses Tag NICHT für VB6-, VBA- oder VBScript-Fragen. ___ tag123visualstudio2010 ___ Visual Studio 2010 ist eine integrierte Entwicklungsumgebung (IDE) von Microsoft. Verwenden Sie dieses Tag nur für Fragen, die sich aus der Verwendung dieser speziellen Version von Visual Studio ergeben, und nicht für einen gerade darin geschriebenen Code. ___ antwort12394096 ___

Fügen Sie dies in Ihren Formularcode ein:

%Vor%

Die Methode, die die erste Anforderung zum Anzeigen des Formulars durch die Application-Klasse ausführt, überschreibt diesen Code die Visible-Eigenschaft wieder auf False. Das Formular verhält sich dann wie normal. Sie können Show () aufrufen, um es sichtbar zu machen, und Close (), um es zu schließen, auch wenn es nie sichtbar war. Beachten Sie, dass das Load-Ereignis erst ausgelöst wird, wenn Sie es anzeigen, also stellen Sie sicher, dass Sie in Ihrem Event-Handler, falls vorhanden, irgendeinen Code in den Konstruktor oder diese Überschreibung verschieben.

    
___ tag123winforms ___ WinForms ist der informelle Name für Windows Forms, eine GUI-Klassenbibliothek in Microsoft .NET Framework und Mono. Fragen in diesem Tag sollten auch mit dem Zielframework ([.net] oder [mono]) versehen und normalerweise mit einem Programmiersprachen-Tag versehen werden. ___
Hans Passant 12.09.2012, 18:18
quelle
5

Fügen Sie dies in das Shown-Ereignis des Formulars ein

%Vor%     
UnhandledExcepSean 12.09.2012 17:57
quelle
4

Der einfachste Weg ist, die Deckkraft des Formulars auf 0% zu setzen. Wenn es angezeigt werden soll, setze es auf 100% zurück

    
craisin 14.09.2014 16:05
quelle
1

Nur um einen völlig anderen Ansatz auszuprobieren, haben Sie nicht mit der Überladung von Application.Run() in Betracht gezogen, die ein Form benötigt (und automatisch anzeigt)? Wenn Sie den Wert verwenden, der in ApplicationContext (oder genauer gesagt, in Ihrer eigenen Unterklasse von ApplicationContext ) übergeben wird, können Sie wählen, wie Ihr Verhalten aussieht. Sehen Sie hier für mehr Details:

Ссылка

    
tcarvin 12.09.2012 18:31
quelle
0

Verwenden Sie Me.Opacity = 0 , um das Formular beim Ladevorgang auszublenden.

Verwenden Sie dann den folgenden Code in der Form. Show event

%Vor%     
SimpleCoder 02.02.2017 13:39
quelle
0

Hier ist ein anderer Weg, wie ich das gefunden habe.

Legen Sie die Formulareigenschaften mit

fest %Vor%

Fügen Sie dann im Konstruktor des Formulars

hinzu %Vor%

Dies ist sehr einfach zu implementieren und funktioniert ohne Flimmern. In meinem Fall benutze ich auch eine NotifyIcon, um vom Benachrichtigungstray auf das Programm zuzugreifen und stelle einfach

ein %Vor%

Im Notify_MouseClick-Ereignishandler.

Um das Formular nach der Anzeige wieder auszublenden, reicht es nicht aus, es erneut zu minimieren. In meinem Fall verwende ich das Form_Closing-Ereignis und verstecke das Formular einfach.

%Vor%     
Mark K 28.06.2017 17:25
quelle