Re: Нарисовать строку с переносом
От: VyacheslavZhitomirskiy  
Дата: 06.01.06 14:18
Оценка: 1 (1)
Здравствуйте, Сергей15, Вы писали:

С>Всем добрый день.

С>Есть такая задача: нужно нарисовать строку в заданном прямоугольнике, причем если строка больше чем
С>прямоугольник, текст переносится. Причем переносится не по целым словам, а по буквам — т.е. нарисовал в первой строке
С>сколько поместилось текста, остальное начал рисовать на следующей строке — даже если была середина слова.
С>Можно ли это сделать стандартными средствами? Или хотя бы как измерить какой кусок строки поместится в указанной длине
С>(чтобы самому нарисовать строку по кускам)?


Graphics.DrawString(string, Font, Brush, RectangleF) может рисовать в прямоугольник. Если уж совсем не влезает, отрезает...

Пример:


        private void panel1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            RectangleF rect = new RectangleF(0, 0, 50, 50);
            g.DrawString("This is a very long string to be fill in a rectangle", this.Font, Brushes.Blue, rect);
        }



Размер строки можно вычислить методом Graphics.MeasureString, у него тоже много перегруженных вариантов...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.