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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разделить в textBox'е 
V
    Опции темы
Antiform
Дата 20.5.2008, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нужно  чтобы в боксе при вводе символов (например: 12345678) автоматически разделялось пробелом (конечный результ был бы такой: 12 345 678)
 
PM MAIL   Вверх
_hunter
Дата 20.5.2008, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



Так в чем проблема? -- подпишись на TextChanged и в нем вставляй пробелы куда тебе нужно...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
QryStaL
Дата 20.5.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



_hunter, TextChanged происходит, когда пользователь закончил ввод. А автору нужно, чтобы проверка происходила после каждого введенного символа.


Antiform, Наследуйся от TextBox и переопредели метод ProcessDialogKey.


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
source777
Дата 20.5.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

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



А ещё проще воспользоваться компонентом MaskedTextBox, всего лишь надо выставить св-во Mask = "000 000 000" и PromtChar = ' '


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
QryStaL
Дата 20.5.2008, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



source777, Не катит. Если написать там число 12345, то оно отобразится 123 45. А надо 12 345. =)


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Antiform
Дата 20.5.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(QryStaL @ 20.5.2008,  11:56)
Antiform, Наследуйся от TextBox и переопредели метод ProcessDialogKey.

Можно примерчик если не трудно, я пока чайник в этом деле. Да и времени нет на поиски "филкамня"
PM MAIL   Вверх
source777
Дата 20.5.2008, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

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



Цитата(QryStaL @  20.5.2008,  12:39 Найти цитируемый пост)
Если написать там число 12345, то оно отобразится 123 45. А надо 12 345. =) 
Имхо, это(плавающий пробел) будет дико выглядеть при наборе, уж лучше в TextChanged, подогнать маску под длину введённого числа, чтобы итоговый результат отображался как надо...



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
source777
Дата 20.5.2008, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

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



Кстати я придумал как эту дикость реализовать, кому надо, можете пользоваться:
Код

        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar > '9' || e.KeyChar < '0')
            {
                e.Handled = true;
                return;
            }
            TextBox tb = sender as TextBox;
            if (tb==null) return;
            string text = tb.Text.Replace(" ", "") + e.KeyChar;
            int i = text.Length-1;
            int c = 0;
            while (i >= 0)
            {
                c++;
                if (c==3)
                {
                    c=0;
                    if (i>0) text = text.Insert(i, " ");
                } 
                i--;                
            }
            tb.Text = text;
            e.Handled = true;
            tb.Select(text.Length, 0);
        }



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Antiform
Дата 20.5.2008, 21:49 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если честно есть такое ощущение что это проще все делается! что написано выше оно вроде бы и так, но если использовать разные ситуации с боксом, то пропадает разделение! Может можно что-то на подобие фильтра заебатьсить????А время поджимает   :(

PM MAIL   Вверх
source777
Дата 20.5.2008, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

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



Цитата(Antiform @  20.5.2008,  21:49 Найти цитируемый пост)
Если честно есть такое ощущение что это проще все делается! что написано выше оно вроде бы и так, но если использовать разные ситуации с боксом, то пропадает разделение! Может можно что-то на подобие фильтра заебатьсить????А время поджимает   :(
Парнишка, а тебе не кажется, что ты совсем зажрался? Тебе уже 3 способа решения предложили, а ты вместо того, чтобы спасибо сказать ещё какие-то претензии смеешь высказывать, причём даже не сформулированные в конструктивную форму... 
Если у тебя своей головой не получается думать, то пиши тех.задание, плати деньги и за тебя подумают другие. А если уж спрашиваешь на форуме, то будь любезен пройти по указанным путям решения и при необходимости довести их до нужных требований САМОСТОЯТЕЛЬНО, а не ныть, как тут всё сложно...

P.S. Первоначальная задача топика
Цитата(Antiform @  20.5.2008,  08:44 Найти цитируемый пост)
Нужно  чтобы в боксе при вводе символов ... автоматически разделялось пробелом
 решена в полном объёме, поэтому тему, имхо, пора закрывать... 



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Antiform
Дата 21.5.2008, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(source777 @ 20.5.2008,  22:43)
Парнишка, а тебе не кажется, что ты совсем зажрался? Тебе уже 3 способа решения предложили, а ты вместо того, чтобы спасибо сказать ещё какие-то претензии смеешь высказывать, причём даже не сформулированные в конструктивную форму... 
Если у тебя своей головой не получается думать, то пиши тех.задание, плати деньги и за тебя подумают другие. А если уж спрашиваешь на форуме, то будь любезен пройти по указанным путям решения и при необходимости довести их до нужных требований САМОСТОЯТЕЛЬНО, а не ныть, как тут всё сложно...

Еслиб я зажрался я бы ни куда бы не писал! Совет если твой нужен будет спрошу! Ты же не один такой умный вот я и спрашивал может еще кто что знает! На счет спасибо хотел сказать, но попозже, но ты все желание отбил!....    Планировал твой код проработать, а вдруг не подойдет???? Вот я заранее  и спросил чтобы времени не терять кто еще может что знает!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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