Avatar billede maze- Nybegynder
20. april 2007 - 13:55 Der er 4 kommentarer og
1 løsning

C# Close Button kodning

Hej allesammen

Jeg har en winForm hvor jeg gerne vil ha' lavet så når jeg trykker på 'Close Button' så istedetfor applikationen bliver lukket, så bliver vinduet minimeret. Selve minimeringen har jeg regnet ud, det er mere hvordan jeg får det sat sammen med close button.

Indtil videre kan jeg kun få det til at virke ved at overskrive 'onResize' og bruge minimize knappen.

Mvh
Maze-
Avatar billede bulgroz Nybegynder
20. april 2007 - 15:49 #1
Det er nu egentligt meget let.
Du skal blot have fat i FormClosing eventet.
Dette event giver dig mulighed for at afbryde  lukningen af formen.

Se eksemplet:

public Form1()
        {
            InitializeComponent();

            this.FormClosing += new FormClosingEventHandler(this.Form1FormClosing);
        }

        void  Form1FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true; // Sikrer at formen ikke lukkes.

            this.WindowState = FormWindowState.Minimized; // Minimerer dit vindue
        }
Avatar billede maze- Nybegynder
23. april 2007 - 08:57 #2
Hej bulgroz

Jeg er meget ny til c# så har prøvet bare lige at copy/paste dit forslag ind i et "frisk" projekt, så jeg bare har en blank standart Form og så sat dit kode ind i Form1.cs.

Når jeg compiler kommer vinduet op, men når jeg trykker det røde kryds, da lukker vinduet helt ned, det bliver ikke minimeret.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace LukOgMinimize
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public void Form1FormClosing(object sender, FormClosingEventArgs e)
        {
            e.Cancel = true; // Sikrer at formen ikke lukkes.
           
            this.WindowState = FormWindowState.Minimized; // Minimerer dit vindue
        }
    }
}

Håber du kan spotte hvad jeg gør forkert.
Avatar billede bulgroz Nybegynder
23. april 2007 - 09:40 #3
Hvis du ikke har brugt din designer, så ser det ud somom du mangler at lytte til Closing eventet...

this.FormClosing += new FormClosingEventHandler(this.Form1FormClosing);

Indsæt koden i din constructor som i mit eksempel, eller indsæt ved hjælp af din forms designer.

Derudover så skal ShowInTaskbar være true, hvilket den dog er default.
Avatar billede maze- Nybegynder
23. april 2007 - 10:00 #4
Haha, ja jeg kan godt se det var en lille dum copy/past fejl, og det virker nu.

Mange tak for hjælpen, vis du lige giver et svar får du pointene.

Lukker
Avatar billede bulgroz Nybegynder
23. april 2007 - 10:03 #5
.... :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester