buk Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 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 Zitieren
Sassy Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 Form1.Visible = False Meinst du das? Zitieren
buk Geschrieben 8. Dezember 2009 Autor Geschrieben 8. Dezember 2009 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 Zitieren
Hahne Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 Versuchs mal mit der Windows-Hide Funktion. Window.Hide-Methode (System.Windows) Zitieren
buk Geschrieben 8. Dezember 2009 Autor Geschrieben 8. Dezember 2009 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 Zitieren
Sassy Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 Also mein Vorschlag Form1.Visible = False muss dann in die Main Routine. Zeig doch mal deinen Quellcode, pls. Zitieren
Gateway_man Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 (bearbeitet) C++ CLR "Formname"->Visible = False; Bearbeitet 8. Dezember 2009 von Gateway_man Zitieren
buk Geschrieben 8. Dezember 2009 Autor Geschrieben 8. Dezember 2009 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 aber ich poste den code morgen. regards, buk Zitieren
Gateway_man Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 (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 8. Dezember 2009 von Gateway_man Zitieren
buk Geschrieben 9. Dezember 2009 Autor Geschrieben 9. Dezember 2009 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 danke und gruss, buk Zitieren
buk Geschrieben 9. Dezember 2009 Autor Geschrieben 9. Dezember 2009 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 Zitieren
buk Geschrieben 11. Dezember 2009 Autor Geschrieben 11. Dezember 2009 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 Zitieren
Empfohlene Beiträge
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.