Книга: C# для профессионалов. Том II

Простой пример с текстом

Простой пример с текстом

Пример является обычным результатом работы Windows Forms. В этот раз метод OnPaint() переопределяется следующим образом:

protected override void OnPaint(PaintEventArgs e) {
 Graphics dc = e.Graphics;
 Brush blackBrush = Brushes.Black;
 Brush blueBrush = Brushes.Blue;
 Font haettenschweilerFont = new Font("Haettenschweiler", 12);
 Font boldTimesFont = new Font("Times New Roman", 10, FontStyle.Bold);
 Font italicCourierFont = new Font("Courier", 11, FontStyle.Italic | FontStyle.Underline);
 dc.DrawString("This is a groovy string", haettenschweilerFont, blackBrush, 10, 10); 
 c.DrawString("This is a groovy string " +
  "with some very long text that will never fit in the box", boldTimesFont, blueBrush,
  new Rectangle(new Point(10, 40), new Size(100, 40)));
 dc.DrawString("This is a groovy string", italicCourierFont, blackBrush,
  new Point(10, 100)); base.OnPaint(e);
}

Выполнение этого примера создает вывод:


Этот пример демонстрирует использование метода Graphics.DrawString() для рисования элементов текста. Существует несколько перезагружаемых версий DrawString(), из которых показаны три. Все различные версии требуют параметры, указывающие выводимый текст, шрифт для рисования текста и кисть, которая должна использоваться для создания различных линий и кривых, составляющих символы текста. Для оставшихся параметров существуют альтернативы. В целом, однако, можно определить либо Point (или эквивалентно два числа), либо Rectangle. Если определяется Point, то текст начнется своим верхним левым углом в этой точке Point и развернется вправо. Если определить Rectangle, то экземпляр Graphics поместит строку внутри этого прямоугольника. Если текст не впишется в границы прямоугольника, то он будет обрезан, как видно на снимке экрана. Передача прямоугольника в DrawString() означает, что процесс рисования продолжится дольше, так как DrawString() необходимо определить, где поместить разрывы строки, но результат может выглядеть лучше (если строка вписывается в прямоугольник).

Этот пример показывает также способы создания шрифтов. Всегда требуется имя шрифта и его размер (высота). Можно также при желании передать различные стили, изменяющие вид текста (жирный, подчеркивание и т. д.).

Оглавление книги

Оглавление статьи/книги

Генерация: 5.939. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз