Notify Icon Problem

mupa0013

Mitglied
Hallo,

ich hab mal wieder ein Problem und komme nicht so wirklich weiter.

ich will ein Programm ausführen das sich lediglich in einem Notify Icon (wie der Vierenscanner) in der Taskleiset ablegt. Die Hauptform soll sich bei einem Doppelklick öffnen.

Das Funktioniert auch soweit.

Nur das sich die Hauptform beim minimieren leider über der eigendlichen Taskleiste noch mal extra ablegt.:(

Für Hilfe danke ich schon mal im Voraus.

Gruß Patricia
 

Christian Kusmanow

Erfahrenes Mitglied
Hallo mupa!

Aboniere das Form.LocationChanged-Event und blende das Form von der Taskleise aus
(Form.ShowInTaskbar), wenn Du es minimiert hast.
Vorsicht (!) Wenn Du das Form auch im Form.Closing-Event ausblendest ohne zu prüfen,
ob die Session beendet wird, wird die Session auch nicht beendet weil das Form ja an bleibt. ;)

Aber schau doch einfach mal in diesen Thread:

[thread=213150]Das runterfahren des PC's abfangen - Thread[/thread]

MfG, cosmo

PS.: Gib das nächste mal mit an, in was Du das realisieren willst.
 

mupa0013

Mitglied
Hallo Cosmo,

Erst mal danke für die schnelle Antwort.

ich poste mal einen Screenshot vieleicht wird dan deutlicher wo das Problem liegt.

SchowInTaskbar hatte ich bereits grundsätzlich auf false gesetzt. Habs aber auch so probiert wie du es vorgeschlagen hast, leider mit dem selben Ergebis.

Gruß Patricia

PS: ich programmiere in J#.
 

Anhänge

  • screen1.bmp
    44,6 KB · Aufrufe: 37

Vektor

Erfahrenes Mitglied
Hallo,

stell nachdem du das NotifyIcon auf Visible gesetzt hat, das Form auf "Versteckt". Also z. B. so:
Code:
private void Form1_Load (Object sender, System.EventArgs e)
	{
		this.notifyIcon1.set_Visible(true);
		this.set_ShowInTaskbar(false);
		this.set_Visible(false);
	}
So funktioniert es bei mir ohne Probleme.
 

mupa0013

Mitglied
Jippiiiii!:)

es funktioniert.

Code:
	private void Form1_LocationChanged (Object sender, System.EventArgs e)
  	{
 		if(this.get_WindowState().equals(System.Windows.Forms.FormWindowState.Minimized))
  		{
  			this.set_Visible(false);
  		}
  	}

Auch wenn ich mir das hier selber nicht erklähren kann

Code:
	private void notifyIcon1_DoubleClick (Object sender, System.EventArgs e)
  	{
  		this.set_WindowState(System.Windows.Forms.FormWindowState.Maximized);
  		this.Show();
  		this.BringToFront();
  		this.set_Visible(true);
  		this.Activate();
  		this.set_WindowState(System.Windows.Forms.FormWindowState.Normal);
  	}

Danke

Gruß Patricia
 

Christian Kusmanow

Erfahrenes Mitglied
:offtopic:
Na hoi,

die Propertys eurer .Net-Objekte haben ja ganz andere Namen. :eek:
wie heissen denn dann die ReadWrite-Propertys? getset_* ? :suspekt:

Naja, blos gut das ich nur C# mach.... ;-] ;) :D