Autor Beitrag
Vegeto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Fr 12.07.13 08:52 
Hallo Community :)

ich habe mal eine Frage an euch, kenne mich mit System Tray Anwendung kaum bis gar nicht aus.
Ich möchte eine Anwendung mittels Visual Studio eine System Tray Anwendung machen, jetzt weiß ich zunächst nicht welche Vorlage ich benutzen soll :/ ???
Zudem stellt sich mir die Frage muss ich da auf irgendwas achten? Oder kann ich munter los Programmieren wie bei einer Form app?

Es soll unten rechts mein Logo enthalten und wenn ich mit der Rechten Maus raufklicke sollen Funktionen erscheinen sowas wie z.B. : "Öffnen", "Senden", "Schließen" etc.

Ich hoffe jemand kann mir eine erste Hilfestellung geben.

Lg
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4795
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 12.07.13 09:04 
Hallo Vegeto,

ja, du kannst einfach so loslegen. Nimm zum Starten z.B. C# - Vorlage für Tray-/NotifyIcon-Anwendung.

Für diesen Beitrag haben gedankt: Vegeto
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Fr 12.07.13 10:20 
Hi Th69

Danke für deine rasche Antwort :)
Den Link habe ich auch noch geöffnet, wollte mal sehen was Ihr schreibt :)

Kann ich auch ein Tray Anwendung erstellen ohne benutzer Oberfläche, sprich unten recht nur ein Icon und es öffnet sich nur die Funktionen und durch klicken werden die Funktionen ausgeführt?
Also es soll kein Form anwendung aufgehen.

Lg
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4795
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 12.07.13 11:57 
Was genau verstehst du unter Funktionen ohne Benutzeroberfläche?
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Fr 12.07.13 13:10 
Ich denke mal, das da nur ein Popup-Menü aufgehen soll, keine Form.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4795
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 12.07.13 13:32 
Aber genau das steht doch in dem von mir verlinkten Tutorial :gruebel:
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Fr 12.07.13 14:55 
Hi Th69 und Hallo OlafSt

@OlafSt genau das meine ich ^^

@Th69 Das stimmt schon, aber ich dachte mir komplett ohne WinForm, sprich keine Konsolen Anwendung Vorlage benutzen, aber ich mache es jetzt mit einer WinForm Vorlage, wo die Form nie angezeigt wird.

lg
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mi 17.07.13 10:00 
Eine Frage habe ich da doch noch :D

Ich habe ein NotifyIcon erstellt und habe es mit einem ContextMenuStrip verbunden :D
Läuft auch alles ganz gut, doch gibt es die Möglichkeit bei dem Systemtray, dass er das menü dan anzeigt wenn man mit der Linken Maustaste klickt, weil so ist es Momentan so, dass es sich nur dann Öffnet wenn man mit der Rechten Maustaste klickt.

Lg
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4795
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 17.07.13 11:18 
Hallo Vegeto,

der Standardweg wäre wohl:
abonniere das MouseClick-Ereignis, prüfe auf Button.Left und rufe dann selber beim Contextmenu dessen Show-Methode auf (hier muß man jedoch dann ein Control angeben - und NotifyIcon ist selber kein Control, sondern direkt eine Component).

Als Alternative bleibt dann wohl nur P/Invoke, s. Open ContextMenuStrip on left mouse click on NotifyIcon.

Hier in Kurzform:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
private void notifyIcon1_MouseUp(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        MethodInfo mi = typeof(NotifyIcon).GetMethod("ShowContextMenu", BindingFlags.Instance | BindingFlags.NonPublic);
        mi.Invoke(notifyIcon1, null);
    }
}

Für diesen Beitrag haben gedankt: Vegeto
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mi 17.07.13 12:08 
@ TH69

DANKE
Vegeto Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Do 18.07.13 09:46 
Hallo habe eine weitere Frage zur Anwendung :D :D :D

Gibt es eine Möglichkeit das Ereignis MouseHover auf ein NotifyIcon zu benutzen.
Standart gemäß bietet das NotifyIcon MouseDown, MouseUp und MouseMove, doch ich benötige MousHover.
Ich weiß das ich einfach den Text (im Eigenschaftsfenster) des NotifyIcon ändern kann dann zeigt er den text an, doch hier kann man leider nur 64 Zeichen benutzen :/

Und ich bräuchte mehr.

Lg

edit.: habe schon sowas gefunden:
stackoverflow.com/qu...longer-than-63-chars

geht es auch anders, also nicht das mir jeder diesen Link gibt.