Autor |
Beitrag |
mrrioes
Hält's aus hier
Beiträge: 3
|
Verfasst: So 07.09.14 19:23
Hey,
ich bin jetzt auch mal mit der C# Programmierung angefangen. Läuft soweit ganz gut, erstes Projekt war ein klassischer Taschenrechner.
Ich habe in dem Projekt jetzt ein notifyIcon hinzugefügt. Klappt super! Allerdings möchte ich in einer Checkbox die Benachrichtigung im Windows Tray aktivieren und deaktivieren.
Also:
Wenn Checkbox mit Haken: NotifyIcon soll aktiviert sein und eine Benachrichtigung im Tray sein.
Wenn Checkbox ohne Haken: Keine Benachrichtigung im Tray.
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| private void notifyIcon3_MouseDoubleClick(object sender, MouseEventArgs e) { if (this.WindowState == FormWindowState.Normal) { this.WindowState = FormWindowState.Minimized; notifyIcon3.BalloonTipText = ("Dein Taschenrechner wurde minimiert!"); notifyIcon3.ShowBalloonTip(750); } else { this.WindowState = FormWindowState.Normal; notifyIcon3.BalloonTipText = ("Dein Taschenrechner wurde maximiert!"); notifyIcon3.ShowBalloonTip(750); } } |
Wie kann ich das hier mit einer If Abfrage (Checkbox) versehen?
Beste Grüße!
Achja, es gibt nur ein NotifyIcon, nicht 3. Hab damit nur rumexperimentiert und war dann zu faul, es auf notifyIcon1 umzubenennen 
|
|
C#
      
Beiträge: 561
Erhaltene Danke: 65
Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
|
Verfasst: So 07.09.14 20:04
Hallo und
Das kannst du ganz leicht mit der notifyIcon.Visible Eigenschaft lösen. Wenn deine Checkbox ausgewählt ist, setzt du den Wert auf true. Andernfalls auf false.
Hier ist noch ein Link mit einem Beispiel, welches deinem Problem entsprechen sollte.
_________________ Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Für diesen Beitrag haben gedankt: mrrioes
|
|
mrrioes 
Hält's aus hier
Beiträge: 3
|
Verfasst: So 07.09.14 20:28
Vielen Dank, hatte das halbe Internet durchsucht, aber natürlich die Seite nicht gefunden ;D
Für alle weiteren Anfänger, die das selbe Problem (hatten), hier der Code, der bei mir funktioniert!
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| private void notifyIcon3_MouseDoubleClick(object sender, MouseEventArgs e) { if (this.WindowState == FormWindowState.Normal) { this.WindowState = FormWindowState.Minimized; notifyIcon3.BalloonTipText = ("Dein Taschenrechner wurde minimiert!"); notifyIcon3.ShowBalloonTip(750); } else { this.WindowState = FormWindowState.Normal; notifyIcon3.BalloonTipText = ("Dein Taschenrechner wurde maximiert!"); notifyIcon3.ShowBalloonTip(750); } }
private void checkBox1_CheckedChanged(object sender, EventArgs e) { this.notifyIcon3.Visible = false; } |
Beste Grüße & vielen Dank!
|
|
C#
      
Beiträge: 561
Erhaltene Danke: 65
Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
|
Verfasst: So 07.09.14 20:43
Ich will dich ja nicht enttäuschen, aber so wird es nicht funktionieren
Wähle die Checkbox mal aus und dann wieder ab und du wirst sehen, dass dein NotifyIcon nicht mehr kommt.
Ändere deine checkBox1_CheckedChanged Methode:
C#-Quelltext 1: 2: 3: 4:
| private void checkBox1_CheckedChanged(object sender, EventArgs e) { notifyIcon3.Visible = !checkBox1.Checked; } |
Dann sollte es wirklich gehen.
Diese Codezeile bedeutet: wenn checkBox1 ausgewählt ist ( checkBox1.Checked), dann setzt notifyIcon3.Visible auf false (das ! invertiert den Wert, also aus true wird false und andersrum). Wird die Checkbox wieder abgewählt, wird notifyIcon3.Visible wieder auf true gesetzt.
_________________ Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Für diesen Beitrag haben gedankt: mrrioes
|
|
mrrioes 
Hält's aus hier
Beiträge: 3
|
Verfasst: So 07.09.14 20:57
woops, stimmt. Eine Frage noch, zum Abschluss sozusagen.
Was drückt das this. aus? Ich weiß, was das bedeutet, aber wofür steht das im Programm?
|
|
C#
      
Beiträge: 561
Erhaltene Danke: 65
Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
|
Verfasst: So 07.09.14 21:32
Das this ist ein Verweis auf das aktuelle Objekt. In den meisten Fällen braucht man es nicht.
Sagen wir du hast deine Form:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| class MeineForm : Form { int Wert;
public MeineForm() { this.Wert = 5; Wert = 5; } } |
Das this ist hier das Gleiche wie MeineForm.
Brauchen tust du es z.B. wenn Klassenvariablen und Methodenvariablen den gleichen Namen haben, also:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| class MeineForm : Form { int Wert; public MeineForm(int Wert) { this.Wert = Wert; } } |
Oder du hast eine Funktion die das Objekt als Parameter fordert, z.B.:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| class MeineForm : Form { void Button_Click(object sender, EventArgs e) { EineAndereKlasse.ÄndereForm(this); } }
class EineAndereKlasse { public static void ÄndereForm(Form eineForm) { } } |
_________________ Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Für diesen Beitrag haben gedankt: mrrioes
|
|
|