🪟 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
- Label – Szöveg megjelenítés
- TextBox – Szövegbevitel
- Button – Gomb
- CheckBox, RadioButton – Beállítások
- PictureBox – Képmegjelenítés
- ListBox, ComboBox – Listaelemek
- DataGridView – Táblázatos megjelenítés
- MenuStrip – Menü létrehozás
- ToolStrip – Eszköztár létrehozás
- StatusStrip – Állapotsor létrehozás
- TabControl – Tabok létrehozás
- GroupBox – Csoportosítás
- Panel – Konténer elem
- ProgressBar – Haladásjelző
- TrackBar – Csúszka
- ToolTip – Súgó üzenetek
- Form – Ablak létrehozás
- PictureBox – Kép megjelenítés
- WebBrowser – Beágyazott böngésző
- RichTextBox – Formázott szövegbevitel
📦 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:
- Newtonsoft.Json – JSON feldolgozás
- System.Net.Http – HTTP kérések küldése
- System.Drawing.Common – Képkezelés
- System.Windows.Forms.DataVisualization – Grafikonok és diagramok készítése
- System.Windows.Forms.VisualStyles – Windows stílusok használata
- System.ComponentModel.DataAnnotations – Adatellenőrzés
- System.Data.SqlClient – SQL adatbázisok kezelése
- System.Xml – XML fájlok kezelése
- System.IO.Compression – Fájlok tömörítése és kicsomagolása
- System.Threading.Tasks – Aszinkron programozás
- System.Diagnostics – Hibakeresés és teljesítményfigyelés
- System.Reflection – Típusok és metódusok vizsgálata futásidőben
- System.Collections.Generic – Generikus gyűjtemények
- System.Linq – LINQ lekérdezések
- System.Text – Szövegkezelés
- System.Threading – Szálkezelés
- System.Windows.Forms.DataVisualization.Charting – Grafikonok és diagramok készítése
- System.ComponentModel – Komponensmodellek és események kezelése
- System.Data – Adatkezelés és adatbázisok
- System.Drawing – Grafika és képek kezelése
- System.Windows.Forms – Windows Forms alkalmazások készítése
🎮 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.