Richtextbox Максимальная длина - PullRequest
3 голосов
/ 24 января 2012

У меня есть несколько элементов управления в моей форме окна, а именно Richtextbox и 10 кнопок, которые представляют собой цифровую клавиатуру (от 0 до 9). Когда кнопка нажата, она вставит соответствующий номер в Richtextbox. Я установил для свойства MaxLength значение 6, однако, похоже, я могу вставить более 6 символов в текстовое поле, нажимая кнопки. Мой код выглядит следующим образом:

private void num1Button_Click(object sender, EventArgs e)
{
    richtextbox.Text = richtextbox.Text.Insert(0, "1");
}

Ответы [ 3 ]

1 голос
/ 24 января 2012

Описание

MSDN - получает или задает максимальное количество символов пользователь может ввести или вставить в элемент управления расширенного текстового поля.

Так что вам нужно проверить длину в вашем коде.

Пример

private void num1Button_Click(object sender, EventArgs e)
{
    if (richtextbox.Text.Length >= 6)
        return;
    richtextbox.Text = richtextbox.Text.Insert(0, "1");
}

Дополнительная информация

0 голосов
/ 24 января 2012

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

0 голосов
/ 24 января 2012

MaxLength работает, только если ввести текстовую клавиатуру в текстовое поле.Вы можете изменить текст больше чем MaxLength, используя код позади.

Следовательно, вам придется дважды проверять это условие при изменении текста

private void num1Button_Click(object sender, EventArgs e)
{
    if(richtextbox.Text.Lenght < 6)
        richtextbox.Text = richtextbox.Text.Insert(0, "1");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...