Метод String.IndexOf - C#
Формулировка задачи:
Разбираюсь в следующем коде, в коде представлен обработчик события нажатия клавиши в textBox т,е проверяется условие чтобы нажимались только цифры и запятая два раза не была введена, т.к нужно ввести либо целое число либо дробное. Впринципе код мне понятен не могу до конца разобраться в строчке номер 27, где проходит проверка есть запятая или нет.
- ВОПРОС: что значит вот этот текст
!=-1
про метод String.IndexOf я почитал в данном случае он возвращает индекс первого вхождения указанного знака Юникода в данной строке. Получается дословно здесь говорится если не равен минус один, как понимать это не равен минус один?// нажатие клавиши в поле редактирования private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { // Правильными символами считаются цифры, // запятая, <Enter> и <Backspace>. // Будем считатьать правильным символом // также точку, на заменим ее запятой. // Остальные символы запрещены. // Чтобы запрещенный символ не отображался // в поле редактирования,присвоим // значение true свойству Handled параметра e if ((e.KeyChar >= '0') && (e.KeyChar <= '9')) { // цифра return; } if (e.KeyChar == '.') { // точку заменим запятой e.KeyChar = ','; } if (e.KeyChar == ',') { if (textBox1.Text.IndexOf(',') != -1) { // запятая уже есть в поле редактирования e.Handled = true; } return; } if ( Char.IsControl (e.KeyChar) ) { // <Enter>, <Backspace>, <Esc> if ( e.KeyChar == (char) Keys.Enter) // нажата клавиша <Enter> // установить курсор на кнопку OK button1.Focus(); return; } // остальные символы запрещены e.Handled = true; }
Решение задачи: «Метод String.IndexOf»
textual
Листинг программы
e.Handled = true;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д