0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
1

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

23.04.2016, 18:48. Показов 1917. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имею вот такой код на данный момент. Нужно чтобы вписывать можно было только символы.
Private Sub TextBox4_Change()
TextBoox4.MaxLength = 11
If TextBox4.Text Like "*[!0-9]*" Then TextBox4.Text = TextBox4.Tag Else TextBox4.Tag = TextBox4.Text

End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2016, 18:48
Ответы с готовыми решениями:

Как сделать так чтобы в textbox можно было вписать только буквы?
Private Sub Textbox1_Change() Textbox1.Value = ChangeFirstLiter(Textbox1.Value) If Textbox1 = ""...

Сделать в пользовательской форме так, чтобы можно было добавлять не один товар, а много
Задача такая, я пишу курсовик. Это типа программа для клиента который пришел в пришел в магазин. У...

Можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву
подскажите можно ли сделать так чтобы к классу можно было бы одновременно обращаться как к массиву?...

Как можно сделать так, чтобы в PictureBox, можно было работать по экранным координатам(т.е. по пикселям)?
Как можно сделать так, чтобы в PictureBox, можно было работать по экранным координатам(т.е. по...

19
6878 / 2810 / 534
Регистрация: 19.10.2012
Сообщений: 8,573
23.04.2016, 19:04 2
Да, текстбокс принимает только символы, объекты туда не впихнёшь...
Что за символы? Что за текстбокс? Что за приложение? Что за система?
0
4131 / 2235 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
23.04.2016, 19:55 3
Лучший ответ Сообщение было отмечено Alexmsk27 как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
 
Private Sub TextBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyV And Shift = 2 Then KeyCode = 0
End Sub
 
Private Sub UserForm_Initialize()
    TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 11:37  [ТС] 4
VBA. Имел ввиду, чтобы можно было вписать,например только 7 символов и больше нельзя было вписать.

Добавлено через 1 минуту
Цитата Сообщение от Hugo121 Посмотреть сообщение
Да, текстбокс принимает только символы, объекты туда не впихнёшь...
Что за символы? Что за текстбокс? Что за приложение? Что за система?
Vba. Имел ввиду, что вставить можно вставить только 7 символов, и больше ввести нельзя было.

Добавлено через 18 минут
Цитата Сообщение от pashulka Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
End Sub
 
Private Sub TextBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyV And Shift = 2 Then KeyCode = 0
End Sub
 
Private Sub UserForm_Initialize()
    TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
Надо этот код вместо моего подставить??
Попробовал вот этот код, но не работает.

Private Sub UserForm_Initialize()
TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
0
6878 / 2810 / 534
Регистрация: 19.10.2012
Сообщений: 8,573
24.04.2016, 12:07 5
Цитата Сообщение от Hugo121 Посмотреть сообщение
Что за символы? Что за текстбокс? Что за приложение? Что за система?
Цитата Сообщение от Alexmsk27 Посмотреть сообщение
Vba. Имел ввиду, что вставить можно вставить только 7 символов
Не вижу никой связи вопроса с ответом.
но в общем это уже не важно - ответ уже прозвучал:
Цитата Сообщение от pashulka Посмотреть сообщение
'Можно установить ограничение вручную
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 12:20  [ТС] 6
Private Sub UserForm1_Initialize()
TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
Private Sub TextBox4_Change()
If TextBox4.Text Like "*[!0-9]*" Then TextBox4.Text = TextBox4.Tag Else TextBox4.Tag = TextBox4.Text
End Sub
Этот код имею,но 1 часть не работает( та которая ограничивают кол-во символов)

Добавлено через 1 минуту
Цитата Сообщение от Hugo121 Посмотреть сообщение
Не вижу никой связи вопроса с ответом.
но в общем это уже не важно - ответ уже прозвучал:
Private Sub UserForm1_Initialize()
TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
Private Sub TextBox4_Change()
If TextBox4.Text Like "*[!0-9]*" Then TextBox4.Text = TextBox4.Tag Else TextBox4.Tag = TextBox4.Text
End Sub
Этот код имею,но 1 часть не работает( та которая ограничивают кол-во символов)
0
6878 / 2810 / 534
Регистрация: 19.10.2012
Сообщений: 8,573
24.04.2016, 12:22 7
Первая часть работает. Конечно только у тех, у кого есть такая форма и такой текстбокс
Но я выделил вот эту часть кода: 'Можно установить ограничение вручную
И тогда не важно если ли такой текстбокс, и есть ли вообще форма...
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 12:24  [ТС] 8
Цитата Сообщение от Hugo121 Посмотреть сообщение
Первая часть работает. Конечно только у тех, у кого есть такая форма и такой текстбокс
Но я выделил вот эту часть кода: 'Можно установить ограничение вручную
И тогда не важно если ли такой текстбокс, и есть ли вообще форма...
Так у меня такая форма есть (Userform1)
и такой textboox (TextBoox4)
только не работает всё равно
0
6878 / 2810 / 534
Регистрация: 19.10.2012
Сообщений: 8,573
24.04.2016, 12:25 9
TextBox4<>TextBoox4
0
4131 / 2235 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
24.04.2016, 12:28 10
Как минимум, вместо :

UserForm1_Initialize()

должно быть (в не зависимости от имени формы)

UserForm_Initialize()
0
6878 / 2810 / 534
Регистрация: 19.10.2012
Сообщений: 8,573
24.04.2016, 12:28 11
Цитата Сообщение от Alexmsk27 Посмотреть сообщение
Так у меня такая форма есть (Userform1)
и такой textboox (TextBoox4)
только не работает всё равно
- многолетняя практика форумов говорит о том, что пользователям верить на слово нельзя, можно верить только файлам.
Может этот код вообще находится в модуле листа, а может это всё где-то в гуглдоке (правда не уверен что там с формами, ну да ладно)
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 12:47  [ТС] 12
Цитата Сообщение от Hugo121 Посмотреть сообщение
- многолетняя практика форумов говорит о том, что пользователям верить на слово нельзя, можно верить только файлам.
Может этот код вообще находится в модуле листа, а может это всё где-то в гуглдоке (правда не уверен что там с формами, ну да ладно)
не получается так написать UserForm_Initialize()
Пишет
Compile error
Ambiguous name detected: UserForm_Initialize.

Добавлено через 23 секунды
Цитата Сообщение от pashulka Посмотреть сообщение
Как минимум, вместо :

UserForm1_Initialize()

должно быть (в не зависимости от имени формы)

UserForm_Initialize()
не получается так написать UserForm_Initialize()
Пишет
Compile error
Ambiguous name detected: UserForm_Initialize.

Добавлено через 7 минут
Цитата Сообщение от Hugo121 Посмотреть сообщение
- многолетняя практика форумов говорит о том, что пользователям верить на слово нельзя, можно верить только файлам.
Может этот код вообще находится в модуле листа, а может это всё где-то в гуглдоке (правда не уверен что там с формами, ну да ладно)
Я мог бы перекрепить бы файл, но не знаю как.
Потому что мой файл он загружать не хочет.
0
6878 / 2810 / 534
Регистрация: 19.10.2012
Сообщений: 8,573
24.04.2016, 12:50 13
Не надо "мой" - сделайте небольшой пример в xls (надеюсь что речь о Экселе), чтоб все могли скачать. Т.к. например мне на работе архивы обрубили - а в архив можно запихать что угодно, даже "мой" который так не загружает. Потому и обрубили...
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 12:52  [ТС] 14
Цитата Сообщение от Hugo121 Посмотреть сообщение
Не надо "мой" - сделайте небольшой пример в xls (надеюсь что речь о Экселе), чтоб все могли скачать. Т.к. например мне на работе архивы обрубили - а в архив можно запихать что угодно, даже "мой" который так не загружает. Потому и обрубили...
Не знаю вроде бы получилось. Можете сказать что не так то?
заранее благодарен)
Вложения
Тип файла: rar БДЗ.rar (28.3 Кб, 2 просмотров)
0
4131 / 2235 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
24.04.2016, 12:54 15
Alexmsk27, Смотрите пример
Вложения
Тип файла: zip Sample_for_Alexmsk27.zip (9.2 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 12:57  [ТС] 16
Цитата Сообщение от pashulka Посмотреть сообщение
Alexmsk27, Смотрите пример
Нельзя написать userform просто
Он ругается и ошибку выдаёт,которую описал ранее.
0
4131 / 2235 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
24.04.2016, 12:58 17
Лучший ответ Сообщение было отмечено Alexmsk27 как решение

Решение

Цитата Сообщение от Alexmsk27 Посмотреть сообщение
Можете сказать что не так то?
Замените

Visual Basic
1
2
3
4
5
6
7
8
Private Sub UserForm_Initialize()
ComboBox1.List = Array("М", "Ж")
ComboBox6.List = Array("Москва", "Екатеринбург", "Новосибирск")
End Sub
 
Private Sub UserForm_Initialize()
    TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
на

Visual Basic
1
2
3
4
5
Private Sub UserForm_Initialize()
ComboBox1.List = Array("М", "Ж")
ComboBox6.List = Array("Москва", "Екатеринбург", "Новосибирск")
TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
или установите ограничение вручную
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 13:02  [ТС] 18
Цитата Сообщение от pashulka Посмотреть сообщение
Замените

Visual Basic
1
2
3
4
5
6
7
8
Private Sub UserForm_Initialize()
ComboBox1.List = Array("М", "Ж")
ComboBox6.List = Array("Москва", "Екатеринбург", "Новосибирск")
End Sub
 
Private Sub UserForm_Initialize()
    TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
на

Visual Basic
1
2
3
4
5
Private Sub UserForm_Initialize()
ComboBox1.List = Array("М", "Ж")
ComboBox6.List = Array("Москва", "Екатеринбург", "Новосибирск")
TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
или установите ограничение вручную
СПАСИБО БОЛЬШОЕ!!!
Все работает)))
0
4131 / 2235 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
24.04.2016, 13:02 19
Цитата Сообщение от Alexmsk27 Посмотреть сообщение
Нельзя написать userform просто
Можно, просто одна форма - одно событие UserForm_Initialize, а не два, как в Вашем примере
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 15
24.04.2016, 13:03  [ТС] 20
Цитата Сообщение от pashulka Посмотреть сообщение
Замените

Visual Basic
1
2
3
4
5
6
7
8
Private Sub UserForm_Initialize()
ComboBox1.List = Array("М", "Ж")
ComboBox6.List = Array("Москва", "Екатеринбург", "Новосибирск")
End Sub
 
Private Sub UserForm_Initialize()
    TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
на

Visual Basic
1
2
3
4
5
Private Sub UserForm_Initialize()
ComboBox1.List = Array("М", "Ж")
ComboBox6.List = Array("Москва", "Екатеринбург", "Новосибирск")
TextBox4.MaxLength = 11 'Можно установить ограничение вручную
End Sub
или установите ограничение вручную
Не знаете случайно как на 2010 ворд установить календарь?
а то на 2007 работает, а на 2010 полноценно не работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2016, 13:03
Помогаю со студенческими работами здесь

Меню: выпадающее дерево, как можно сделать чтобы при кол-во объектов ~1000 не было тормозов ?
как можно сделать чтобы при кол-во объектов ~1000 не было тормозов

Как сделать так, чтобы поле ввода TextBox было доступно только для чтения?
Как сделать так, чтобы поле ввода TextBox было доступно только для чтения?

Как сделать так чтобы можно было менять путь к БД
OleDbConnection aConn = new OleDbConnection(&quot;Provider=Microsoft.ACE.OLEDB.12.0;&quot; + @&quot;Data...

Как сделать так, что-бы текст из TextBox нельзя было убрать, но можно скопировать
Здравствуйте я новичёк в изучении c#. Как сделать так что-бы текст нельзя было убрать только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru