Zum Inhalt springen

Form1 beim starten verstecken


Empfohlene Beiträge

Geschrieben

guude,

Ich habe unter Visual Studio 2008 Professional ein neues Visual C++ CLR Projekt erstellt. Meiner Form1 habe ich ein NotifyIcon hinzugefügt und showInTaskbar auf false gestellt. nun wird aber meine Form1 immernoch geladen und ich suche eine möglichkeit dies abzustellen. es soll nur das icon in der taskbar zu sehen sein.

ich suche da nun schon seit ca. 3h und werde nicht fuendig. waere super wenn mir jmd helfen koennte.

regards,

buk

Geschrieben

guude,

Form1::Visible = false; 

hatte ich schon probiert aber leider erfolglos. bzw wo genau muss das hin? in den konstruktor, oder in die Form1.h ? funktioniert aber leider beides nicht.

gruessle,

buk

Geschrieben

guude,

Versuchs mal mit der Windows-Hide Funktion.

Window.Hide-Methode (System.Windows)

auch das funktioniert leider nicht. in der $insertYourAppNameHere.cpp wird durch den aufruf von

Application::Run(gcnew Form1());

eine neue Form namens Form1 erstellt und durch einen loop "am leben gehalten" bis der benutzer dies beendet.

in der Form1.h habe ich saemtliche deklarationen zur Form1 darunter auch den Konstruktor etc. egal wo ich eure vorschlaege eintrage, nichts aendert sich.

eine neue Form zu erstellen und diese zu verstecken funktioniert auch nicht. ich bin gerade ziemlich ratlos. ich bilde mir auch ein das ich das unter C# schonmal zum laufen bekommen habe.

regards,

buk

Geschrieben

guude,

danke schonmal fuer die antworten. ich werde morgen mal den quelltext posten. wenn ihr aber ein normales visual c++ clr windowsforms projekt erstellt, dann das notifyicon im ressource builder auf die form zieht seit ihr soweit wie ich :D

aber ich poste den code morgen.

regards,

buk

Geschrieben (bearbeitet)

Habs gerade getestet.

Pardon ich bin schon etwas eingerostet.

Wenn du im context des aktuellen Form Headers, eben dieses Form zu verstecken versuchst, dann schreib einfach:


/* nicht sichtbar */

this->Visible = false;


/* sichtbar */

this->Visible = true;

Sieht bei mir wie folgt aus:

	private: System::Void showToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) 

			 {

				 this->Visible = true;

			 }

	private: System::Void notifyIcon1_MouseDoubleClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) 

			 {

			 }

private: System::Void Form1_Shown(System::Object^  sender, System::EventArgs^  e) 

		 {

			 this->Visible = false;

	notifyIcon1->Visible = true;

		 }

Bearbeitet von Gateway_man
Geschrieben

guude,

Sieht bei mir wie folgt aus:


private: System::Void Form1_Shown(System::Object^  sender, System::EventArgs^  e) 

		 {

			 this->Visible = false;

	notifyIcon1->Visible = true;

		 }

vielen dank. dieser code schnipsel war der gewinner! nun muss ich dem notifyicaon nur noch ein menue dazubasteln damit ich das programm auch beenden kann :D

danke und gruss,

buk

Geschrieben

guude,

falls es jmd interessiert wie man einem contextMenue menuItems hinzufuegt ...

das contextMenue erstellen

private: System::Windows::Forms::ContextMenu^	notifyIconContextMenue;
das contextMenue initialisieren
this->notifyIconContextMenue = (gcnew System::Windows::Forms::ContextMenu());
das contextMenue dem notifyIcon hinzufuegen
this->notifyIcon1->ContextMenu = notifyIconContextMenue;
das contextMenue befuellen
notifyIconContextMenue->MenuItems->Add("&Exit");
ich hoffe ich hab das richtig kommentiert. wenn nun einer weiss wie ich ein
Application.Exit()

ausfuehren kann wenn ich auf Exit im contextMenue klicke, wuerde ich mich freuen wenn derjenige das hier posten wuerde.

danke und gruss,

buk

Geschrieben

guude,

ich habe das ganze etwas abgewandelt:

das menuItem wird erstellt

MenuItem^ menueItemExit = gcnew MenuItem();
dem menuItem wird ein Text zugewiesen
menueItemExit->Text = "&Exit";
das menuItem wird dem contextMenu hinzugefuegt
notifyIconContextMenue->MenuItems->Add(menueItemExit);
ich nehme mal stark an das ich nun meinen menue Punkt ueber menueItemExit ansteuern kann und in diesem fall z.b. das programm mit
Application::Exit()

beenden kann.

regards,

buk

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...