Entwickler-Ecke
WinForms - Dynamisches KontextMenü auf einem Tray Symbol erstellen
Delete - So 14.09.08 19:53
Titel: Dynamisches KontextMenü auf einem Tray Symbol erstellen
Hallo Zusammen...
Ich habe folgendes vor:
Ich will ein C# Programm erstellen, was nur im Tray angezeigt wird (Notify Icon).
Das klappt soweit.
Dann will ich ein dynamisches Kontext Menü erstellen. Die Daten kommen aus einem txt-File.
Das klappt soweit auch.
Als Hilfe hab ich folgende Seite genommen:
http://www.developer.com/net/csharp/article.php/3336751
Jetzt das eigentlich einfachste, nur weiss ich nicht wie das geht... ^^
Wie rufe ich ab, welcher Button geklickt wurde?
Den Namen des ausgewählten Kontext Menü Punktes will ich einfach nur in eine Variable gespeichert haben.
Google und Co. liefern zwar einige Ergebnisse, jedoch kann ich damit nicht wirklich was anfangen.
Ich bin nicht sonderlich weit in der C#-Programmierung, also bitte für Anfänger erklären.
Vielen Dank im vorraus für eure Mühe.
Christian S. - So 14.09.08 21:54
Hallo und :welcome:!
Jedes MenuItem sollte doch ein Click-Ereignis haben. Wenn Du alle Items dasselbe Ereignis zuweist, kannst Du über den Sender-Parameter abfragen, welches Item das war.
Grüße
Christian
Delete - Di 16.09.08 15:44
Hallo... ^^
Ja da würde ich dir jetzt Recht geben, nur kann ich mit diesen Ereignissen überhaupt nicht umgehen...
Ich Poste mal mein Quellcode... Vielleicht könnte mir ja jemand dieses Klick Ereigniss, dann einmal im Detail posten...
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO;
namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); Kontext.Items.Clear();
const string filename = "Config.txt"; string eingelesen = ""; if (!File.Exists(filename)) { MessageBox.Show("Fehler, die Datei: " + filename + " konnte nicht gefunden werden."); TrayIcon.Visible = false; System.Windows.Forms.Application.Exit(); } TextReader tr = File.OpenText(filename); while ((eingelesen = tr.ReadLine()) != null) { Kontext.Items.Add(eingelesen); } tr.Close(); } |
Jetzt kann man vielleicht schon herauslesen wie (un)weit ich in C# bin...^^
Moderiert von
Christian S.: Color- durch C#-Tags ersetzt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!