OOP fungerar direkt
Alla dina klasser, Dictionary och List fungerar exakt likadant i WinForms som i konsolprogram.
public class Djur{ public string Namn { get; set; } public string Ljud { get; set; } public string GörLjud() => $"{Namn} säger: {Ljud}!";}private Dictionary<string, Djur> djur;
private void Form1_Load(object sender, EventArgs e){ djur = new Dictionary<string, Djur> { { "Hund", new Djur { Namn = "Hund", Ljud = "Voff" } }, { "Katt", new Djur { Namn = "Katt", Ljud = "Mjau" } } };}
private void btnHund_Click(object sender, EventArgs e){ lblLjud.Text = djur["Hund"].GörLjud(); this.BackColor = Color.LightYellow;}Dictionary<string, Djur> fylls i Form1_Load — se Events för formulärets livscykel — och läses av i en knapps Click-hanterare. Ingenting av det här är WinForms-specifikt: det är samma klass, samma dictionary, samma kunskap du redan har. Det enda nya är var koden anropas ifrån.
Var används WinForms?
Mer än man tror. Interna system i banker, sjukvård och industri körs ofta på WinForms. Det är stabil, välbeprövad teknik och snabb att bygga med — du kan stöta på det som C#-utvecklare.