Использование подстроки в текстовых полях C # - PullRequest
0 голосов
/ 02 ноября 2011

Я хотел отобразить оставшиеся символы с помощью метки рядом с моим текстовым полем на тот случай, если введенный пользователем превышал максимальную длину символов.

Это мой код для оставшихся символов:

private void txtID_TextChanged(object sender, EventArgs e)
    {
        int MaxChars = 10 - txtID.Text.Length;
        labelChars.Text = MaxChars.ToString() + " characters remaining.";
    }

Теперь я хотел запретить пользователю вводить символы в мое текстовое поле, когда он / она уже превысил ограничение на количество символов. Я планирую использовать свойство Substring текстового поля, но не знаю как. Помоги мне? Спасибо.

Ответы [ 5 ]

2 голосов
/ 02 ноября 2011

Вы должны использовать свойство MaxLength. http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.maxlength.aspx

0 голосов
/ 02 ноября 2011

Это будет работать намного лучше на стороне клиента. Используйте свойство MaxLength текстового поля и, возможно, небольшой JavaScript, чтобы сохранить функционирование элемента управления lblChars.

<asp:TextBox MaxLength="10" runat="server" ID="txtID" ClientIDMode="Static" onkeydown="changedID();"></asp:TextBox>
<asp:Label ClientIDMode="Static" ID="lblChars" runat="server"></asp:Label>
<script type="text/javascript">
    function changedID() {
        var t = document.getElementById("txtID");
        var l = document.getElementById("lblChars");
        l.innerText = (10 - t.value.length) + " characters remaining.";
    }
</script>
0 голосов
/ 02 ноября 2011

Вы знаете MaxLength свойство?

0 голосов
/ 02 ноября 2011

Не могли бы вы просто использовать свойство MaxLength? http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.maxlength.aspx

0 голосов
/ 02 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...