```csharp using System; using System.Drawing; using System.Windows.Forms; namespace WFA_Graphics { public partial class Form1 : Form { Pen line; // Deklarace pera pro kreslení čar public Form1() { InitializeComponent(); // Inicializace pera s červenou barvou a tloušťkou 1 line = new Pen(Color.Red, 1); // Nastavení výchozích hodnot pro NumericUpDown num_startX.Value = 0; num_startY.Value = 0; num_endX.Value = 0; num_endY.Value = 0; // Přiřazení událostí TextChanged pro všechny NumericUpDown num_startX.TextChanged += TextBox_TextChanged; num_startY.TextChanged += TextBox_TextChanged; num_endX.TextChanged += TextBox_TextChanged; num_endY.TextChanged += TextBox_TextChanged; } // Metoda vyvolaná při změně textu v NumericUpDown private void TextBox_TextChanged(object? sender, EventArgs e) { // Kontrola, zda parametr sender není null if (sender != null) { // Invalidace PictureBox, aby se vyvolal Paint event pictureBox.Invalidate(); } } // Metoda vyvolaná při vykreslování PictureBox private void pictureBox_Paint(object sender, PaintEventArgs e) { Graphics drawing = e.Graphics; // Grafický objekt pro kreslení // Získání hodnot ze všech NumericUpDown pro kreslení čáry int startX = (int)num_startX.Value; int startY = (int)num_startY.Value; int endX = (int)num_endX.Value; int endY = (int)num_endY.Value; // Kreslení čáry drawing.DrawLine(line, startX, startY, endX, endY); } // Metoda vyvolaná při pohybu myši nad PictureBox private void pictureBox_MouseMove(object sender, MouseEventArgs e) { // Zobrazení aktuální pozice myši v Label label.Text = e.Location.ToString(); } } } ``` Aplikace na kreslení čáry v pictureBox na základě inputu uživatele v reálném čase