|
Dragon
|
|
TextBox только для чисел30.11.2009, 10:57. Показов 2454. Ответов 19
Метки нет (Все метки)
|
|
| 30.11.2009, 10:57 | |
|
Ответы с готовыми решениями:
19
Ввод только чисел в TextBox |
|
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 79
|
|
| 30.11.2009, 13:43 | |
|
Наследовать от обычного TextBox'а и переопределять реакцию на TextChanged (или KeyUp)
0
|
|
|
Dragon
|
|
| 30.11.2009, 14:03 | |
|
>Наследовать от обычного TextBox'а и переопределять реакцию на TextChanged (или KeyUp)
А как проверить что введено именно число, например такое '-123.254' а такое '2343,221' ? |
|
|
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 79
|
|
| 30.11.2009, 14:19 | |
|
Вроде была функция IsNumeric, но не уверен.
0
|
|
|
Dragon
|
|
| 30.11.2009, 14:45 | |
|
Public Function IsNumeric(ByVal Expression As Object) As Boolean
есть только VB.NET в c# ее нет
|
|
|
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 79
|
|
| 30.11.2009, 15:02 | |
|
Ну конкретно про c# я не могу сказать. Попробуй регулярные выражения или отлавливай нажатия клавиш - если нажата не цифра и не служебная клавиша, то каким-либо образом игнорируй.
0
|
|
|
Dragon
|
||||||
| 30.11.2009, 15:07 | ||||||
|
сделал так:
|
||||||
|
Oleg
|
|
| 07.12.2009, 12:14 | |
|
Не понял в чем проблемма?
Обрабатываешь нажатие каждой клавиши и проверяешь на цифры и знаки + - . , Все остальное отсекаешь |
|
|
Vsh
|
|
| 07.12.2009, 13:05 | |
|
есть еще и такие числа
-45e-6 |
|
|
Oleg
|
|
| 07.12.2009, 13:09 | |
|
Ну так вставь проверку на е
|
|
|
1 / 1 / 1
Регистрация: 24.09.2009
Сообщений: 33
|
|
| 09.12.2009, 11:25 | |
|
Можно создать текстовую строку в которой перечислить все встречайщие символы, например:
string str='1234567890e_-' а после проверять каждый раз.
0
|
|
|
Dragon
|
|
| 09.12.2009, 11:34 | |
|
Все должно быть проще...
|
|
|
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 4
|
|
| 16.12.2009, 18:02 | |
|
я Вышел таким способом:
Dim MyVar As Object Dim MyCheck As Boolean MyVar = '53' MyCheck = IsNumeric(MyVar) числа типа 324234Е+25 работали на ура покрайней мере у меня
0
|
|
|
Dragon
|
|
| 17.12.2009, 11:00 | |
|
Ну нету на c# IsNumeric
![]() В принципе я уже решил данную проблемму, даже двумя способами. Если кому интересно могу выложить коды моих TextBoxDecimal и TextBoxX. |
|
|
1 / 1 / 1
Регистрация: 24.09.2009
Сообщений: 33
|
|
| 17.12.2009, 11:06 | |
|
Если не трудно то давай
0
|
|
|
Dragon
|
||||||
| 17.12.2009, 11:30 | ||||||
|
Вариант номер раз (используется decimal.Parse):
|
||||||
|
Dragon
|
|
| 17.12.2009, 11:33 | |
|
Вариант номер два (делал не я, но работает
)[code] public enum TextBoxPrecision { _0_Nil = 0, _1_One = 1, _2_Two = 2, _3_Three = 3, _4_Four = 4, _5_Five = 5, } /// <summary> /// Описание элемента TextBox для числовых данных /// </summary> public class xTextBox : System.Windows.Forms.TextBox { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; private TextBoxPrecision txtPrecision = TextBoxPrecision._2_Two; /// <summary> /// Значение поля TextBox.Text в числовом формате /// </summary> public decimal Value; /// <summary> /// Точность вещественного числа /// </summary> public TextBoxPrecision Precision { get { return this.txtPrecision; } set { this.txtPrecision = value; } } public xTextBox() { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // TODO: Add any initialization after the InitForm call } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if( components != null ) components.Dispose(); } base.Dispose( disposing ); } #region Component Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { // // xTextBox // this.Font = new System.Drawing.Font('Microsoft Sans Serif', 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((System.Byte)(204))); this.Size = new System.Drawing.Size(100, 23); this.TextAlign = System.Windows.Forms.HorizontalAlignment .Right; this.LostFocus += new System.EventHandler(this.xTextBox_LostFo cus); } #endregion private void xTextBox_LostFocus(object sender, EventArgs e) { int l = this.Text.ToString().Length; string s = ''; string s1 = this.Text.ToString(); if (s1[l-1] == ',') { for (int i=0; i < l-1; i++) { s = s+s1[i]; } this.Text = s; } } /// <summary> /// Приведение строки к числовому формату /// </summary> /// <param name='txtInput'>Приводимая строка строка</param> /// <returns></returns> public string StrToDecimal(string txtInput) { int Len = txtInput.Length; bool IsFirst = true; string txtReturn = ''; int Frac = 1; for (int i = 0; i < Len; i++) { if (char.IsNumber(txtInput[i]) == false & IsFirst == true & this.txtPrecision != TextBoxPrecision._0_Nil) { if (i==0) { txtReturn = '0,'; } else { txtReturn = txtReturn+','; } IsFirst = false; } else if (char.IsNumber(txtInput[i]) == false & this.txtPrecision == TextBoxPrecision._0_Nil) { txtReturn = txtReturn; } else if (char.IsNumber(txtInput[i]) == false & IsFirst == false) { txtReturn = txtReturn; } else if (char.IsNumber(txtInput[i]) == true & IsFirst == true) { txtReturn = txtReturn + txtInput[i]; } else if (char.IsNumber(txtInput[i]) == true & IsFirst == false & Frac <= (int)this.txtPr |
|
|
Dragon
|
|
| 17.12.2009, 11:34 | |
|
Желающие могут пользоваться, если не сложно сохраняя копирайт
|
|
|
alex1
|
|
| 18.12.2009, 23:45 | |
|
А чё валидатор слабо к тестбоксу прикрутить? Там даже регэксп есть стандартный для проверки чисел
|
|
|
Dragon
|
|
| 20.12.2009, 11:40 | |
|
А пример можно? Под Wondows.Form!
|
|
| 20.12.2009, 11:40 | |
|
Помогаю со студенческими работами здесь
20
Ввод только чисел double в TextBox
Чтение чисел через пробел из одного textbox'a и перевод чисел в другой textbox Обработчик событий работает только для одного textBox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|