```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