Выводим текст
Чтобы нарисовать строку воспользуемся функцией DrawString.
Создадим проект со статичной отрисовкой
public Form1()
{
InitializeComponent();
Paint += Form1_Paint;
StartPosition = FormStartPosition.CenterScreen;
Width = 500;
Height = 300;
}
private void Form1_Paint(object? sender, PaintEventArgs e)
{
var gr = e.Graphics;
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gr.Clear(Color.Black); // очищаем экран черным цветом
Font font = SystemFonts.DefaultFont; // используем дефолтный системный шрифт
//выводим строку Hello, world, в позицию 0,0 на экране (левый вехний угол)
//используем цвет LimeGreen
gr.DrawString("Hello, world!", font, Brushes.LimeGreen, 0, 0);
}
Запскаем и получаем такой результат:

Видим зеленый текст в верхнем левом углу. Давайте создадим свой собсвтенный шрифт чтобы сделать его крупнее.
private void Form1_Paint(object? sender, PaintEventArgs e)
{
var gr = e.Graphics;
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gr.Clear(Color.Black);
// создадим шрифт Courier New, размером 36
Font font = new Font("Courier New", 36);
gr.DrawString("Hello, world!", font, Brushes.LimeGreen, 0, 0);
}
Получим такой результат:

Вывод текста по центру
Теперь давайте выведем текст по центру окна. Координаты передаваемые в DrawString указывают на верхний левый угол выводимиого текста, давайте убедимся в этом. Расчитаем центр нашего окна используя ClientSize и подставим полученные координаты в DrawString
private void Form1_Paint(object? sender, PaintEventArgs e)
{
var gr = e.Graphics;
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gr.Clear(Color.Black);
int x = ClientSize.Width / 2;
int y = ClientSize.Height / 2;
Font font = new Font("Courier New", 22);
gr.DrawString("Hello, world!", font, Brushes.LimeGreen, x, y);
}
Получим следующее:

Как мы видим текст выводится справа вниз от переданной точки центра окна. Чтобы вывести текст по центру нужно знать его размер. Для получения размера текста существует несколько способом, воспользуемся одним из них, с помощью метода MeasureString
private void Form1_Paint(object? sender, PaintEventArgs e)
{
var gr = e.Graphics;
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
gr.Clear(Color.Black);
int x = ClientSize.Width / 2;
int y = ClientSize.Height / 2;
Font font = new Font("Courier New", 22);
string text = "Hello, world!";
SizeF textSize = gr.MeasureString(text, font);
gr.DrawString(text, font, Brushes.LimeGreen, x - textSize.Width / 2, y - textSize.Height / 2);
}
После этого смещаем координату выводимого текста на половину его размера.
Получим следующий резултат:

Теперь текст выводится красиво по центру окна.
Задания:
1. Выведите текст в нижнем правом углу окна