Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как точку подменить на запятую 
:(
    Опции темы
transkriptsiya
Дата 22.2.2013, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



подскажите. есть калькулятор с текстовым полем в которое запрещено вводить что либо кроме цыфр, одного минуса, и одной запятой и бекспейса

как сделать что бы когда пользователь нажимает точку - автоматом подставлялась запятая?

 
Код

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            // Если это не цифра.
            if (!Char.IsDigit(e.KeyChar))
            {
               
              // Запрет на ввод более одной десятичной точки.
                if (e.KeyChar != ',' || textBox1.Text.IndexOf(",") != -1)
               // Запрет на ввод более одного минуса.
                if (e.KeyChar != '-' || textBox1.Text.IndexOf("-") != -1)
                // Розрешение на backspace.
                if (e.KeyChar != (char)Keys.Back)
                {
                    e.Handled = true;
                }
            }
        }


PM MAIL   Вверх
FallFan
Дата 27.2.2013, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 30.3.2008
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Есть код на VB, может поможет:

Код

    Private Sub txtPayment_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPayment.KeyPress
        Call CurrencyFilter(sender, e.KeyChar)
    End Sub


Код

    Public Sub CurrencyFilter(ByVal Target As Object, ByRef Key As Char)
        'Функция отфильтровывающая ввод для получения формата Currency
        'Обнуление ввода, если не цифра и запятая, точка, 'минус.
        If (AscW(Key) < 48 Or AscW(Key) > 58) And AscW(Key) <> 44 And AscW(Key) <> 46 And AscW(Key) <> 8 Then Key = CChar("")

        'Замена точки на запятую
        If AscW(Key) = 46 Then Key = CChar(",")

        'Проверка на единственность десятичного разделителя
        If AscW(Key) = 44 Then
            If InStr(Target.Text.ToString, ",", vbTextCompare) <> 0 Then Key = CChar("")
        End If
    End Sub


Это сообщение отредактировал(а) FallFan - 27.2.2013, 23:10
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.