C# Academy · Lektion

Håndtering af events i formularer

Lær at håndtere brugerinteraktioner som knapklik og formularafsendelser

Lektion 3 af 310 trin

Håndtering af events i formularer er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 3 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 3 lektioner i alt.

Hvad er hændelser?

Hændelser er handlinger eller forekomster, som et program kan reagere på, f.eks. et klik på en knap, en musebevægelse eller tekstinput. Hændelseshåndtering giver dig mulighed for at definere, hvordan dit program skal reagere på disse handlinger.

Vigtigt: Windows Forms bruger hændelsesdrevet programmering til at reagere på brugerhandlinger.

Håndtering af events i formularer — illustration 1

Forstå hændelser

Hvad er hændelser?

Hændelser er handlinger eller forekomster, som et program kan reagere på, f.eks. et klik på en knap, en musebevægelse eller tekstinput. Hændelseshåndtering giver dig mulighed for at definere, hvordan dit program skal reagere på disse handlinger.

Vigtigt: Windows Forms bruger hændelsesdrevet programmering til at reagere på brugerhandlinger.

Tilmelding til hændelser

For at håndtere en hændelse skal du tilmelde dig den ved at tildele en metode (en hændelseshandler), som udføres, når hændelsen opstår. Eksempel:

using System;
using System.Windows.Forms;

class Program : Form {
    static void Main() {
        Application.Run(new Program());
    }

    public Program() {
        Button button = new Button() {
            Text = "Click Me",
            Left = 100,
            Top = 50
        };
        button.Click += Button_Click;
        Controls.Add(button);
    }

    private void Button_Click(object sender, EventArgs e) {
        MessageBox.Show("Button was clicked!");
    }
}

Almindelige hændelser

Her er nogle almindelige hændelser i Windows Forms:

  • Click: Udløses, når der klikkes på en knap eller et andet klikbart kontrolelement.
  • TextChanged: Udløses, når teksten i et tekstfelt ændres.
  • MouseEnter: Udløses, når musemarkøren bevæger sig ind over et kontrolelement.
  • KeyDown: Udløses, når der trykkes på en tast, mens et kontrolelement har fokus.

Vigtigt: Hver hændelse har et bestemt formål, og du kan bruge flere hændelser til at gøre brugergrænsefladen mere interaktiv.

Tilføjelse af hændelseshandlere i Designer

Du kan tilføje hændelseshandlere ved hjælp af Windows Forms Designer:

  1. Vælg kontrolelementet i Designer.
  2. Åbn egenskabsvinduet, og gå til fanen Hændelser (ikonet med et lyn).
  3. Dobbeltklik på den ønskede hændelse (f.eks. Click) for at generere en hændelseshandler i koden.

Tip: Denne fremgangsmåde er hurtigere, når du skal tilføje hændelseshandlere til flere kontrolelementer.

Hændelsesargumenter

Hændelseshandlere indeholder ofte en parameter af typen EventArgs, som giver yderligere oplysninger om hændelsen. Eksempel:

using System;
using System.Windows.Forms;

class Program : Form {
    static void Main() {
        Application.Run(new Program());
    }

    public Program() {
        TextBox textBox = new TextBox() {
            Left = 50,
            Top = 50,
            Width = 200
        };
        textBox.TextChanged += TextBox_TextChanged;
        Controls.Add(textBox);
    }

    private void TextBox_TextChanged(object sender, EventArgs e) {
        TextBox textBox = (TextBox)sender;
        Console.WriteLine("Text changed to: " + textBox.Text);
    }
}

Øvelsesopgave

Opret et Windows Forms-program med:

  • En knap, der viser en meddelelse, når der klikkes på den.
  • Et tekstfelt, der fører en log over tekstændringer i konsollen.
  • En etiket, der opdateres, når musemarkøren bevæger sig ind i et bestemt område.

Eksempel:

using System;
using System.Windows.Forms;

class Program : Form {
    Label label;

    static void Main() {
        Application.Run(new Program());
    }

    public Program() {
        Button button = new Button() {
            Text = "Click Me",
            Left = 50,
            Top = 50
        };
        button.Click += (sender, e) => MessageBox.Show("Button clicked!");
        Controls.Add(button);

        TextBox textBox = new TextBox() {
            Left = 50,
            Top = 100,
            Width = 200
        };
        textBox.TextChanged += (sender, e) => Console.WriteLine("Text changed to: " + textBox.Text);
        Controls.Add(textBox);

        label = new Label() {
            Text = "Hover over me",
            Left = 50,
            Top = 150,
            Width = 150
        };
        label.MouseEnter += Label_MouseEnter;
        Controls.Add(label);
    }

    private void Label_MouseEnter(object sender, EventArgs e) {
        label.Text = "Mouse is here!";
    }
}

Bedste praksis for hændelseshåndtering

Her er nogle anbefalinger:

  • Brug meningsfulde navne til metoder, der håndterer hændelser.
  • Undgå at skrive omfattende logik direkte i hændelseshandlere; kald i stedet andre metoder.
  • Fjern hændelseshandlere, når der ikke længere er brug for dem, for at forhindre hukommelseslækager.

Tip: Test dine hændelseshandlere for at sikre, at de fungerer som forventet i alle situationer.

Godt gået!

Tillykke! Du har lært at håndtere hændelser i Windows Forms for at gøre dine programmer interaktive. I den næste lektion bygger vi et enkelt lommeregnerprogram for at anvende det, du har lært. Lad os fortsætte med at kode!

Klik på Fortsæt for at gå videre til den næste lektion.

Håndtering af events i formularer — illustration 10
Gratis at komme i gang

Lær C# med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
93
Lektioner
346

Ofte stillede spørgsmål

Er lektionen “Håndtering af events i formularer” gratis?

Ja — hele teksten til “Håndtering af events i formularer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Håndtering af events i formularer”?

Lær at håndtere brugerinteraktioner som knapklik og formularafsendelser Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på C# Academy?

Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 3.

Hvor lang tid tager lektionen “Håndtering af events i formularer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne C# Academy-lektion?

Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til Windows Forms
  2. Design af brugergrænseflader
  3. Håndtering af events i formularer
← Tilbage til C# Academy