С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
 Аватар для kapriz0n
20 / 20 / 0
Регистрация: 26.10.2008
Сообщений: 77

Работа со шрифтом

08.01.2010, 01:56. Показов 7162. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как в C# изменить межстрочный и межсимвольный интервалы. Какой класс может помочь в этом.

Добавлено через 2 часа 50 минут
Или как хотя бы узнать длину строки...?!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2010, 01:56
Ответы с готовыми решениями:

Непонятное со шрифтом
Добрый день. Периодически (1 запись в минуту) по таймеру заполняю таблицу данными. Странность вот в чем, при запуске проги - первая запись...

Вывод из базы записей, выделенных жирным шрифтом
Подскажите пожалуйста, как заводить и выводить в базу данных записи, где текст может быть выделен жирным шрифтом? Допустим если я...

Работа со строкой и шрифтом из картинки
Здравствуйте, форумчане! Столкнулся с вопросом. И вроде знаний, с одной стороны, хватает, а связать воедино не получается. Итак, суть...

7
Заблокирован
09.01.2010, 08:26
Или как хотя бы узнать длину строки...?!

Code
1
2
3
 string str = "Как понять? -(как в C# изменить межстрочный и межсимвольный интервалы)";
            int i = str.Length; //длина строки
            this.Text = "Длина строки =  " + i.ToString();
0
 Аватар для kapriz0n
20 / 20 / 0
Регистрация: 26.10.2008
Сообщений: 77
09.01.2010, 21:20  [ТС]
Длину строки в символах это конечно важно, но мне нужно в единицах... скажем пиксели как узнать? уже известно что через MeasureString.. но вот как менять все же данные - вопрос...))
0
 Аватар для frei
13 / 13 / 3
Регистрация: 05.10.2009
Сообщений: 49
09.01.2010, 21:31
Где вы хотите поменять, в каком элементе? подробнее.
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
09.01.2010, 21:38
kapriz0n,

Длину строки в символах это конечно важно, но мне нужно в единицах... скажем пиксели как узнать?

В строках нет никаких "пикселов".
0
 Аватар для kapriz0n
20 / 20 / 0
Регистрация: 26.10.2008
Сообщений: 77
09.01.2010, 21:44  [ТС]
При создании шрифта в Font у меня есть определенные данные, скажем высота, длина, ну и далее... Я читаю текст из файла и мне нужно его вывести... при выводе мне нужно поменять интервалы межстрочные хотя бы.. между буквами возможно и между словами.. можно это все сделать в ручную выводить каждую прочитанную строку разделяя ее на количество строк вместимых в прямоугольник и вычеслять последующую координату вывода по Y (высоте).. Есть ли возможность сделать это просто уже готовыми способами... При написании на C++ насколько я помню была структура где все это задавалось т е не так жестко как в C#...

Добавлено через 2 минуты
Цитата Сообщение от Rififi Посмотреть сообщение
kapriz0n,

Длину строки в символах это конечно важно, но мне нужно в единицах... скажем пиксели как узнать?

В строках нет никаких "пикселов".
Может я неправильно выразился но есть вот такой вот способ
C#
1
e.Graphics.MeasureString(line, font).Width;
Graphics.MeasureString - метод
Измеряет указанную строку в процессе ее создания с помощью заданного объекта Font.
Вот ссылка кому интересно
http://msdn.microsoft.com/ru-r... tring.aspx
0
Заблокирован
11.01.2010, 10:45
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void button1_Click(object sender, EventArgs e)
        {
           
            this.Text = "длина строки : " + label1Size.Width.ToString() +  "  высота : " 
                + label1Size.Height.ToString();
 
        }
        
 
        SizeF label1Size = new SizeF();
        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {
            label1.Text = "измеряем длину строки, и заодно ее высоту";
            label1Size = e.Graphics.MeasureString(label1.Text, label1.Font);
        }
Добавлено через 14 часов 16 минут
А изменить межстрочный и межсимвольный интервалы, я думаю можно путем изменения размера шрифта.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 float font = 12;
        string str = "изменяем межсимвольные интервалы изменением размера шрифта";
        SizeF strSize = new SizeF();
 
        //Уменьшаем
        private void button1_Click(object sender, EventArgs e)
        {
            if(font>1)
            font--;
            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", font, System.Drawing.FontStyle.Regular, 
                System.Drawing.GraphicsUnit.Point, ((byte)(204)));
            this.Text = "длина строки : " + strSize.Width.ToString() + "  высота : "
                + strSize.Height.ToString();
 
        }
        //Увеличиваем
        private void button2_Click(object sender, EventArgs e)
        {
            font++;
            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", font, System.Drawing.FontStyle.Regular,
                System.Drawing.GraphicsUnit.Point, ((byte)(204)));
            this.Text = "длина строки : " + strSize.Width.ToString() + "  высота : "
                + strSize.Height.ToString();
        }
        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {
 
            strSize = e.Graphics.MeasureString(label1.Text, label1.Font);
          
        }
 
        
 
        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = str;
            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", font, System.Drawing.FontStyle.Regular,
                System.Drawing.GraphicsUnit.Point, ((byte)(204)));
            this.Text = "длина строки : " + strSize.Width.ToString() + "  высота : "
                + strSize.Height.ToString();
        }
1
 Аватар для kapriz0n
20 / 20 / 0
Регистрация: 26.10.2008
Сообщений: 77
11.01.2010, 15:16  [ТС]
Изменяя label по ширине то получу одновременное изменение между буквами и словами.. Тут только в ручную крыхтеть нужно как я понимаю, но пользоваться label тоже немного неудобно так как текст не постоянен и будет меняться по задумке, при нажатии на скажем пробел... Проще перерисовывать просто фон с DrawString и всем ему присущим... К сожалению C# неуправляемый, так что все делать придется в ручную... Спасибо всем большое...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2010, 15:16
Помогаю со студенческими работами здесь

Выделение элемента шрифтом в ListBox
Подскажите как можно сделать такое, есть у нас лист бокс в него добавляются элементы: listBox_lengh.Items.Add("ДЛИНА " +...

Вставка строки с другим шрифтом в RichTextBox
Здравствуйте, у меня есть текст в котором,например, слово "дата" начинается со строки "StartDate", мне необходимо заменить слово...

Как писать жирным шрифтом в ToolTip?
Как писать толстым шрифтом в ToolTip'ах? Возможно, есть какие-либо комбинации с обратным слэшем, типа \n (перевод строки) и \t...

Строки в списке разным цветом и шрифтом
Как получить подобный эффект в ListBox(картинку прикрепил ниже)? С переводом на новую строку второго слова все ясно: ...

Выделить строку в ListView жирным шрифтом
Здравствуйте!Возможно ли выделить строку в ListView жирным шрифтом. Вот код кнопки которая заполняет listView: private void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru