login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[C#] Programma in tray (Opgelost)

Offline Ultimatum - 08/09/2007 17:08 (laatste wijziging 08/09/2007 17:09)
Avatar van UltimatumPHP expert Oproep aan alle .NET experts (en de rest), ik heb weer een probleem 

ik wil graag dat als ik op dat streepje rechtsboven klik mijn programma van de taakbalk verdwijnt en dan rechtsonderin komt, zoals met Itunes etc..

Ik heb nu wel een site gevonden waar een tutorial op staat maar het schijnt niet te werken. Het programma blijft staan.

Ik had die code gewoon domweg in mijn Form1.cs gezet dus misschien dat ik iets vergeet. Ik had deze code:
  1. private void Form1_Resize(object sender, System.EventArgs e)
  2. {
  3. if (FormWindowState.Minimized == WindowState)
  4. Hide();
  5. }


vervangen door dit om te kijken of er iets gebeurde:
  1. private void Form1_Resize(object sender, System.EventArgs e)
  2. {
  3. if (FormWindowState.Minimized == WindowState)
  4. {
  5. MessageBox.Show("Test");
  6. }
  7. }

Maar ook niet. Ik draai deze applicatie via F5 van Microsoft Visual Studio 2005, dat zou toch niets mogen uitmaken?
Het is ook een nieuw project dus er staat verder geen andere code in die het problemen kunnen zijn. Heb ook andere tutorials gevonden maar die waren onduidelijk en daar kregen ik fouten die ik niet goed kon oplossen.

Dus als iemand wel een turorial heeft gevonden die het bij hem doet dan wil ik dat ook wel weten 

9 antwoorden

Gesponsorde links
Offline EXcium - 08/09/2007 18:53 (laatste wijziging 08/09/2007 18:59)
Avatar van EXcium Lid
  1. private void programmaWeergevenToolStripMenuItem_Click(object sender, EventArgs e)
  2. {
  3. this.Show();
  4. this.notifyIcon1.Visible = false;
  5. }
  6.  
  7. private void programmaVerbergenToolStripMenuItem_Click(object sender, EventArgs e)
  8. {
  9. this.Hide();
  10. this.notifyIcon1.Visible = true;
  11. }


Uit de toolbox moet je "ContextMenuStrip" en "NotifyIcon" naar de form slepen.
Offline Abbas - 08/09/2007 19:28 (laatste wijziging 08/09/2007 19:39)
Avatar van Abbas Gouden medaille

Crew .NET
Of, om het meer zoals Ultimatum z'n eerste code te doen:
Klik in Design-mode 1x op je Form. Zet het Properties-kader op Events en vul bij 'Resize' dit in: myForm_Resize. (eigen gekozen naam)

  1. private void myForm_Resize(object sender, EventArgs e)
  2. {
  3. if (this.WindowState == FormWindowState.Minimized)
  4. {
  5. this.Hide();
  6. }
  7. }

Hier is nog een extratje. De code voor als je op het icoontje in de taakbalk klikt dat het programma terug groot wordt of terug weggaat als het al open staat. Sleep een notifyIcon naar je Form. Stel bij de Properties hiervan een Click-Event in, geen DoubleClick! (Ik heb het event "myIcon_Click" genoemd)

  1. private void myIcon_Click(object sender, EventArgs e)
  2. {
  3. if (this.WindowState == FormWindowState.Normal)
  4. {
  5. this.WindowState = FormWindowState.Minimized;
  6. this.Hide();
  7. }
  8. else
  9. {
  10. this.Show();
  11. this.WindowState = FormWindowState.Normal;
  12. }
  13. }
Offline Ultimatum - 08/09/2007 22:58
Avatar van Ultimatum PHP expert @excium, ik wilde niet met een toolstrip maar als je op dat minimaliseren tekentje van het programma klikt.

@titjes, hmm, bedoel je Resize die onder submenu Layout staat? Want het werkt nog steeds niet. Dit is wat ik helemaal heb:
  1. public partial class Form1 : Form
  2. {
  3.  
  4. public Form1()
  5. {
  6. }
  7.  
  8. private void myForm_Resize(object sender, EventArgs e)
  9. {
  10. if (this.WindowState == FormWindowState.Minimized)
  11. {
  12. this.Hide();
  13. }
  14. }
  15. }


En hier staat de tutorial(Vorige keer vergeten)
Offline Abbas - 09/09/2007 00:31
Avatar van Abbas Gouden medaille

Crew .NET
KLIK, dit is wat ik bedoel. Je code is in ieder geval juist! 
Offline Ultimatum - 09/09/2007 10:42
Avatar van Ultimatum PHP expert Dat had ik ook maar het werkt nog steeds niet? Had je jouw code al getest? En zou je dat project misschien kunnen sturen? Dan leer ik daar weer van 
Offline Abbas - 09/09/2007 15:05 (laatste wijziging 09/09/2007 15:06)
Avatar van Abbas Gouden medaille

Crew .NET
Ik kan je dat project niet geven, dat is te groot om zomaar eventjes te "geven". 
Maar... ik zou je niet hulpeloos laten! Ik heb een apart projectje aangemaakt met de code die je nodig hebt, en alles werkt. KLIK
Offline Ultimatum - 09/09/2007 16:46
Avatar van Ultimatum PHP expert
titjes schreef:
Ik kan je dat project niet geven, dat is te groot om zomaar eventjes te "geven". 
Maar... ik zou je niet hulpeloos laten! Ik heb een apart projectje aangemaakt met de code die je nodig hebt, en alles werkt. KLIK

Dat bedoelde ik ook, anders moest ik daar weer de juiste code uit zoeken . Vet het werkt ook nog , maar nu staat er gelijk een icoontje in de tray, kan dat ook pas als er geresized is?
Offline Abbas - 09/09/2007 19:08 (laatste wijziging 09/09/2007 19:27)
Avatar van Abbas Gouden medaille

Crew .NET
Ja, dat kan! Je stelt bij de properties de Visible van het Icon op False. Daarna als het verkleint wordt maak je het visible en bij het terug groot maken maak je het weer invisible.

KLIK, ik heb het project aangepast hiernaar en opnieuw online gezet.
Offline Ultimatum - 09/09/2007 22:24
Avatar van Ultimatum PHP expert Hij werkt nu goed, bedankt (al)weer hé .
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s