C# Windows Forms

🪟 C# Windows Forms

A Windows Forms (WinForms) segítségével grafikus felhasználói felületeket (GUI) készíthetünk .NET környezetben.


using System;
using System.Windows.Forms;

public class MyForm : Form
{
    public MyForm()
    {
        this.Text = "ProgiSuli - Ablak";
    }

    [STAThread]
    static void Main()
    {
        Application.Run(new MyForm());
    }
}
      

🛠️ Gomb és eseménykezelés

Hozzunk létre egy gombot és figyeljük, amikor rákattintanak:


public MyForm()
{
    Button btn = new Button();
    btn.Text = "Kattints rám!";
    btn.Click += (s, e) => MessageBox.Show("Szia!");
    Controls.Add(btn);
}
      

🎨 Alapelemek

📦 Könyvtárak és névterek

A Windows Forms alkalmazásokhoz szükséges könyvtárak és névterek:


using System;
using System.Windows.Forms;
using System.Drawing;
using System.IO;
using System.Net;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Diagnostics;
using System.Reflection;
using System.ComponentModel;
using System.Data;
using System.Drawing.Drawing2D;
using System.Windows.Forms.DataVisualization.Charting;
using System.Windows.Forms.VisualStyles;
      

Az alábbi könyvtárakat a NuGet csomagkezelőn keresztül telepíthetjük:

🎮 Események és vezérlők

Ismerkedj meg a gombok, szövegmezők és egyéb vezérlők eseményeivel:


public MyForm()
{
    // Label létrehozása
    Label lbl = new Label();
    lbl.Text = "Kattints a gombra!";
    lbl.Location = new Point(50, 50);
    Controls.Add(lbl);

    // Button létrehozása
    Button btn = new Button();
    btn.Text = "Kattints rám!";
    btn.Location = new Point(50, 100);
    btn.Click += (s, e) => lbl.Text = "A gombot megnyomták!";
    Controls.Add(btn);
}
      

Futtatáskor: amikor a gombra kattintasz, a címke szövege változik.

🔘 Egyéb vezérlők

Most nézzük meg, hogyan dolgozhatunk más vezérlőkkel, mint a CheckBox, RadioButton, vagy TextBox:


public MyForm()
{
    // CheckBox
    CheckBox chk = new CheckBox();
    chk.Text = "Elfogadom a feltételeket";
    chk.Location = new Point(50, 150);
    Controls.Add(chk);

    // RadioButton
    RadioButton rbtn = new RadioButton();
    rbtn.Text = "Férfi";
    rbtn.Location = new Point(50, 200);
    Controls.Add(rbtn);
}
      

Futtatáskor: a felhasználó kiválaszthatja, hogy elfogadja-e a feltételeket, vagy hogy férfi vagy női opciót választ-e.

🖼️ Képkezelés: PictureBox

Kép megjelenítése egy PictureBox vezérlőn keresztül:


public MyForm()
{
    PictureBox picBox = new PictureBox();
    picBox.Image = Image.FromFile("path_to_image.jpg");
    picBox.Location = new Point(50, 250);
    picBox.SizeMode = PictureBoxSizeMode.StretchImage;
    picBox.Size = new Size(200, 200);
    Controls.Add(picBox);
}
      

Futtatáskor: egy kép jelenik meg az alkalmazásban.