Подскажите пожалуйста как сделать так чтоб по заполнению текстбокса шрифт автоматически становился меньше, например максимально в текстбокс помещается 6 символов, при вводе седьмого шрифт автоматически становится меньше и в текстбокс помещается уже 7 символов и т.д.
заодно если подскажите как после каждого третьего символа автоматически вставлять пробел, буду очень признателен )
WinForm ---- Visual Studio 2017 C#
Ловить какое-нибудь событие изменения текста, смотреть textBox.Text.Length
.
Размер шрифта как-то так менять можно
textBox.Font = new Font(textBox.Font, 20);
Font Constructor (System.Drawing) | Microsoft Docs
А что вводится? Может проще MaskedTextBox.
C# MaskedTextBox Example - Dot Net Perls
Вводятся числа
сейчас например 100000 выглядит так
хотелось бы чтоб 100 000 было вот так ) только автоматически
Думал можно сделать что то типа
if (textBox1.Text.Length > textBox1.Size) но пишет, что оператор “>” невозможно применить к операнду типа int и size
NumericUpDown умеет это.
Это структура, надо к ее свойствам обращаться. Size Struct (System.Drawing) | Microsoft Docs
Я делал так
private void InsertSpace()
{
if (textBox1.Text.Length == 4)
textBox1.Text = textBox1.Text.Insert(1, " ");
}
Но получается только один раз, сейчас попробую NumericUpDown