C# richtextbox отображать количество оставшихся символов

Да, я уже исследовал этот вопрос. Я нашел это: Как отобразить оставшиеся символы текстового поля в метке в C#? и многим другим просто нравится Вот как мне удалось собрать следующий код:

protected void rtdDisclaimer(object sender, EventArgs e)
{
    lblCharCount.Text = "Characters Remaining:" + (700 - rtbDisclaimer.Text.Length).ToString(); // char count limit set to 700
}

Я никогда раньше не программировал на C#, но работаю над групповым проектом, и этот язык выбрал руководитель группы. Я новичок в программировании и имею минимальный опыт работы с Java. Эта программа делается в визуальной студии. Я пытаюсь сделать так, чтобы метка показывала количество оставшихся символов в зависимости от того, что набрано в richtextbox. Ошибок нет, но на этикетке вообще ничего не отображается.

3 ответа

Решение

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

protected void rtbDisclaimerTextChanged(object sender, EventArgs e)
{
     lblCharCount.Text = "Characters Remaining:" + (700 - rtbDisclaimer.Text.Length).ToString(); // char count limit set to 700
}

В конструкторе после InitializeComponent() вы должны добавить следующую строку:

rtbDisclaimer.TextChanged += new EventHandler(rtbDisclaimerTextChanged);

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

Добавьте это к конструктору вашего Form:

rtbDisclaimer.TextChanged += rtdDisclaimer;

Функция, которую вы упомянули в своем вопросе, кажется серверной, и вы можете вызывать ее в случае события, например нажатия кнопки. Если вы хотите отображать длину символов при наборе текста, используйте JavaScript/jQuery

лайк

$('textarea').keyup(updateCount);
$('textarea').keydown(updateCount);

function updateCount() {
    var cs = $(this).val().length;
    $('#characters').text(cs);
}

Проверьте это тоже. Пример JsFiddle (от Dreami)

Хепе это помогает!

Другие вопросы по тегам