Рейтинг:
44
CS2011
При нажатии клавиши напишите следующий код
if (char.IsNumber(e.KeyChar))
e.Handled = false;
else
e.Handled = true;
RakeshMeena
Мои 5! Хотя вам не нужно ставить обе части If и else.
Tarun.K.S
Здесь я позволю себе не согласиться, иначе* требуется*.
Tarun.K.S
Хороший ответ Чанакья :). 5+
Tarun.K.S
У меня есть одно маленькое сомнение. Если пользователь вставляет какой-либо символ(ы) в текстовое поле(щелкните правой кнопкой мыши на текстовом поле, а затем вставьте), он, к сожалению, показывает этот символ(ы). Есть какие-нибудь предложения, как это можно предотвратить? Спасибо.
CS2011
вы можете отключить опцию Вставить, если хотите :-)
Tarun.K.S
Лол, это единственное решение в поле зрения. :Д
RakeshMeena
Нет! Решения все еще доступны, но немного сложны.
Есть 2 способа вставить текст в текстовое поле:
1. Ctrl + V : это уже отключено (из-за оригинального решения), так что никаких проблем.
2. щелчок правой кнопкой мыши и вставка: здесь мы можем обработать событие MouseDown и, если щелкнуть правой кнопкой мыши, сохранить текст текстового поля в переменной. Затем в событии TextChanged проверьте, содержит ли текст только цифры или нет, если Предыдущее значение не может быть восстановлено.
Надеюсь, это поможет.
Tarun.K.S
Ааа, это вполне осуществимое решение, Спасибо, что предупредили. :)
CS2011
Как сказал Ракеш, Ctrl+V отключен, и если вы добавите
это.текстовое поле textbox1.Контекстное меню = новый контекстное меню();метод InitializeComponent() Тогда ваша проблема решена : -). Смотрите не так уж и тяжело на корме все : - D
Tarun.K.S
Еще одно отличное решение-создать пользовательское контекстное меню и не добавлять в него элементы, которые заставляют его чувствовать себя отключенным. Идеальный. Спасибо! :)
Ragi Gopi
Как мы можем отключить опцию вставки????
CS2011
Ctrl+V уже отключен. Теперь, если вы хотите отключить меню щелчка правой кнопкой мыши (например, копировать, прошлое и т. д.), Добавьте следующий код это.текстовое поле textbox1.Контекстное меню = новый контекстное меню();
Ragi Gopi
частная tbph_MouseClick недействительным(объект отправителя, MouseEventArgs е)
{
это.tbph.Контекстное меню = новый контекстное меню();
}
Есть Анс...
@CS2011
спасибо
Ragi Gopi
спасибо.....
его работа
спасибо вам всем
Ragi Gopi
если ((например.Ключевой-символ &ЛТ; '0' || е.Ключевой-символ &ГТ; '9') &&усилителя; (Эл.Ключевой-символ != '\б'))
{
Ящик для сообщений.Показать ("разрешены только номера");
е.Обработано = истина;
}
ещё
{
е.Обработано = ложь;
}
у атласта все в порядке....
CS2011
Да...иначе backspace не будет работать.Я знал это, но хотел, чтобы ты попробовал сам.доброе дело :-)
Amit Kumar Tiwari
Хороший ответ, мой 5 находится в :)
Рейтинг:
0
Ragi Gopi
private void tbph_TextChanged_1(object sender, EventArgs e)
{
tbph.KeyPress += new KeyPressEventHandler(tbph_KeyPress);
}
private void tbph_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < '0') || (e.KeyChar > '9')) e.Handled = true;
}
я попробовал вышеприведенный код ..
и получил ответ...
Tarun.K.S
Как насчет копирования текста, а затем вставки его( щелкнув правой кнопкой мыши, а затем нажмите кнопку Вставить). Появится текст.
Ragi Gopi
оооооо..это проблема.....
Рейтинг:
0
Vijay Radia
функция JavaScript:
function isOnlyNumber(field) {
var e = event;
var charCode = e.which || e.keyCode;
if (charCode > 47 && charCode < 58)
{
return true;
}
else{
return false;
}
Используйте эту функцию в событии TextBox onkeypress, как показано ниже.
<asp:TextBox ID="txt1" runat="server" CssClass="inputbox" onkeypress="return isOnlyNumber(this);"></asp:TextBox>