Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31

Автоматический вывод расчета в TextBox

06.02.2017, 21:43. Показов 6843. Ответов 46

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток. Прошу помощи. Не могу найти информацию о том как можно сделать так чтобы, если я в один textbox ввожу число (х), то в соседнем textbox сразу же появлялось число рассчитанное по формуле ( x*9,8).
Сделать это по кнопке, это секунда делов, но вот как получить тоже самое без дополнительных нажатий.
Кликните здесь для просмотра всего текста


Спасибо большое заранее. а да, Visual Basic в составе Visual Studio 2015.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2017, 21:43
Ответы с готовыми решениями:

Автоматический подсчет значений в TextBox
Уважаемые знатоки, Доброго времени суток!) Есть вопрос, который терзает меня. Суть проста: хочу реализовать автоматический подсчет...

Автоматический перенос данных из textbox в таблицу
Здравствуйте! Помогите пожалуйста с кодом. Есть приложение: на первой форме-текстбоксы(21 шт)-в них пользователь вводит данные и есть на...

Автоматический фокус в TextBox при запуске программы
Пишу калькулятор. Хочу сделать так чтобы после запуска программы можно было сразу вводить выражение в строку TextBox без предварительного...

46
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 16:30  [ТС]
Студворк — интернет-сервис помощи студентам
Вот весь код моей формы, на ней текстбоксы и одна кнопка и вот в данном случае это ее весь код

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Public Class Form3
    Dim Razd As String ' Переменная для определения необходимого знака разделения
 
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        Me.Hide()
 
    End Sub
 
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each c As Control In Controls
            If TypeOf c Is TextBox Then
                AddHandler c.KeyPress, AddressOf TbxKeyPress
            End If
        Next
    End Sub
    Private Sub TbxKeyPress(ByVal sender As TextBox, ByVal e As KeyPressEventArgs)
        If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> vbBack AndAlso e.KeyChar <> "," Then e.Handled = True
        If e.KeyChar = "," Then
            If sender.Text.Contains(",") Then
                e.Handled = True
            End If
        End If
    End Sub
 
 
 
 
End Class
0
1550 / 1527 / 325
Регистрация: 03.10.2012
Сообщений: 1,558
11.02.2017, 16:33
Вот проект
Вложения
Тип файла: rar WindowsApplication11.rar (69.2 Кб, 3 просмотров)
0
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 19:07  [ТС]
это конечно звучит странно, но я тоже создал новый проект, ввел у него тот же код, все работает. ввожу в свой проект, не работает. Что за дела.

Добавлено через 2 часа 32 минуты
Уже какой час мучаюсь, но все бестолку. Не пойму в чем проблема. в моем проекте не работает эта фигня. создаю новый, создаю несколько форм на нем, и все работает. в чем может быть проблема кто может подсказать?

В проекте 3 формы. с первой перехожу на вторую и третью. В третьей фильтрация ввода.
Код первой формы.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Public Class Form1
 
    Private Sub ВыходToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ВыходToolStripMenuItem.Click
        Application.Exit()
    End Sub
 
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Dim finalyexit As Boolean = False
        If MsgBox("Вы точно хотите закрыть приложение?", MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton1 Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
            Exit Sub
            Application.Exit()
        Else
            e.Cancel = True
        End If
    End Sub
 
 
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Form2.Show()
 
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Form3.Show()
 
    End Sub
 
 
End Class
Код 3 формы
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Class Form3
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        Me.Hide()
 
    End Sub
 
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each c As Control In Controls
            If TypeOf c Is TextBox Then
                AddHandler c.KeyPress, AddressOf TbxKeyPress
            End If
        Next
    End Sub
    Private Sub TbxKeyPress(ByVal sender As TextBox, ByVal e As KeyPressEventArgs)
        If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> vbBack AndAlso e.KeyChar <> "," Then e.Handled = True
        If e.KeyChar = "," Then
            If sender.Text.Contains(",") Then
                e.Handled = True
            End If
        End If
    End Sub
 
 
 
 
End Class
Если этот же код но в новом проекте, то все работает. В чем беда?
0
 Аватар для XIST
1972 / 1081 / 149
Регистрация: 01.10.2009
Сообщений: 3,654
Записей в блоге: 1
11.02.2017, 20:06
secrash63, козни мистера Фикса
0
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 20:10  [ТС]
но я кажется понял в чем дело конечно. У меня TextBox ы по 40 шт объеденные в GroupBox ы. И эта фильтрация не проходит в них.
Как сделать чтобы это затрагивало текстбоксы которые в группбоксе лежат?
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each c As Control In Controls
            If TypeOf c Is TextBox Then
                AddHandler c.KeyPress, AddressOf TbxKeyPress
            End If
        Next
    End Sub
    Private Sub TbxKeyPress(ByVal sender As TextBox, ByVal e As KeyPressEventArgs)
        If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> vbBack AndAlso e.KeyChar <> "," Then e.Handled = True
        If e.KeyChar = "," Then
            If sender.Text.Contains(",") Then
                e.Handled = True
            End If
        End If
    End Sub
Кликните здесь для просмотра всего текста
0
 Аватар для XIST
1972 / 1081 / 149
Регистрация: 01.10.2009
Сообщений: 3,654
Записей в блоге: 1
11.02.2017, 20:14
secrash63, козни мистера Фикса secrash63,
VB.NET
1
For Each c As Control In Controls
вот над этой строчкой подумайте, просто тексты находятся не просто в контролс, а в групбоксе? т.е. измените сами, как нужно
1
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 20:20  [ТС]
Цитата Сообщение от XIST Посмотреть сообщение
вот над этой строчкой подумайте, просто тексты находятся не просто в контролс, а в групбоксе? т.е. измените сами, как нужно
моих познаний конечно хватает сделать следующее
VB.NET
1
For Each c As Control In GroupBox1.Controls
но это получается что каждый групбокс прописывать. А как на все что есть в форме?
1
 Аватар для XIST
1972 / 1081 / 149
Регистрация: 01.10.2009
Сообщений: 3,654
Записей в блоге: 1
11.02.2017, 20:25
уже хорошо. Я начало темы не очень понял, тексты и на форме и в группе? Так сделайте две функции присвоения, события, одна для групбокса вторая для форм, Вы же проходясь по контролам, проходите и по групбоксу, т.е. на форме, вы тексты подхватываете, а на группбоксе останваливаетесь, т.к. жто же так же контрол?
0
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 20:32  [ТС]
На некоторых формах есть только текстбоксы, на одной текстбоксы группированы в групбоксы - 5 Групбоксов в которых по 40 текстбоксов. А как создать функцию для группбокса у меня ума не хватит. Да и вообще создать какую либо функцию думаю ума не хватит)))
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
11.02.2017, 20:42
VB.NET
1
2
3
4
5
6
7
8
9
10
11
'Перебираем все контролы рекурсивно
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        itterate(Me)
End Sub
 
Private Sub itterate(ctrl As Control)
        MsgBox(ctrl.Name)
        For Each ctrlChild As Control In ctrl.Controls
            itterate(ctrlChild)
        Next
    End Sub
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
11.02.2017, 20:49
скрин
Миниатюры
Автоматический вывод расчета в TextBox  
0
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 21:19  [ТС]
Цитата Сообщение от Hell666 Посмотреть сообщение
1
2
3
4
5
6
7
8
9
10
11
'Перебираем все контролы рекурсивно
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
* * * * itterate(Me)
End Sub
Private Sub itterate(ctrl As Control)
* * * * MsgBox(ctrl.Name)
* * * * For Each ctrlChild As Control In ctrl.Controls
* * * * * * itterate(ctrlChild)
* * * * Next
* * End Sub
Вообще не понял ничего...(((
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
11.02.2017, 21:23
Все контролы только в панелях...
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        itterate(Me)
    End Sub
    Private Sub itterate(ctrl As Control)
        For Each ctrlChild As Control In ctrl.Controls
            If TypeOf ctrlChild Is Panel Then
                enumerating(ctrlChild)
            End If
        Next
    End Sub
    Private Sub enumerating(ctrl As Control)
        For Each ctrlChild As Control In ctrl.Controls
            TextBox1.Text += ctrlChild.Name & vbCrLf
        Next
    End Sub
Миниатюры
Автоматический вывод расчета в TextBox  
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
11.02.2017, 21:25
А что непонятно? ) Перебираются все контролы на форме и все контролы в контейнерах (контролах) на форме.)
0
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 21:33  [ТС]
а что за кнопка?
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
11.02.2017, 21:35
Хм. Кнопка на форме.) Которая все и запускает.)))
VB.NET
1
2
3
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        itterate(Me)
End Sub
0
 Аватар для secrash63
1 / 1 / 0
Регистрация: 06.02.2017
Сообщений: 31
11.02.2017, 21:40  [ТС]
так я поэтому и ничего не пойму. я пытаюсь прикрутить фильтрацию ввода данных с клавиатуры без нажатия на кнопки какие то и чтобы сразу на всю форму. на каждый элемент то получается....
Познания мои просто крайне ограниченны.
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
11.02.2017, 21:50
На некоторых формах есть только текстбоксы, на одной текстбоксы группированы в групбоксы - 5 Групбоксов в которых по 40 текстбоксов. А как создать функцию для группбокса у меня ума не хватит. Да и вообще создать какую либо функцию думаю ума не хватит)))
Я тебе дал кучу вариантов перебора контролов и на форме и в панели на форме и сейчас дам во всех контейнерах на форме (не только в панели). Перебираешь и в место
VB.NET
1
TextBox1.Text += ctrlChild.Name & vbCrLf
Ставишь свой код "фильтрации". Или что ты там хочешь с ними сделать. Вот тебе код, который отбирает все контролы во всех контролах, которые могут являтся контейнерами:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        itterate(Me)
    End Sub
 
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Dim m1 As Integer
        m1 = Now.AddYears(17).Year - Now.Year
        txt2.Text = m1
    End Sub
    Private Sub itterate(ctrl As Control)
        For Each ctrlChild As Control In ctrl.Controls
            If ctrlChild.Controls.Count <> 0 Then
                enumerating(ctrlChild)
            End If
            itterate(ctrlChild)
        Next
    End Sub
    Private Sub enumerating(ctrl As Control)
        For Each ctrlChild As Control In ctrl.Controls
            TextBox1.Text += ctrlChild.Name & vbCrLf
        Next
    End Sub
Миниатюры
Автоматический вывод расчета в TextBox  
0
2 / 2 / 0
Регистрация: 06.04.2015
Сообщений: 91
11.02.2017, 22:12
Цитата Сообщение от Ильнарр Посмотреть сообщение
Используй MaskedTextBox. У него есть параметр Mask, допустим числа от 0 до 9 только если надо, пиши Нули
Чувак !
0
148 / 70 / 12
Регистрация: 11.02.2017
Сообщений: 310
11.02.2017, 22:21
Вот пример "твоей фильтрации". Я отобрал все контролы что есть в контейнерах. Вывел их имена в TextBox. И только в GroupBoxах для TextBoxов сделал Background зеленый.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        itterate(Me)
    End Sub
 
    Private Sub itterate(ctrl As Control)
        For Each ctrlChild As Control In ctrl.Controls
            If ctrlChild.Controls.Count <> 0 Then
                enumerating(ctrlChild)
            End If
            itterate(ctrlChild)
        Next
    End Sub
    Private Sub enumerating(ctrl As Control)
        For Each ctrlChild As Control In ctrl.Controls
            TextBox1.Text += ctrlChild.Name & vbCrLf
            If TypeOf ctrl Is GroupBox And TypeOf ctrlChild Is TextBox Then
                ctrlChild.BackColor = Color.LightGreen
            End If
        Next
    End Sub
Миниатюры
Автоматический вывод расчета в TextBox  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.02.2017, 22:21

Как организовать автоматический переход между TextBox-ами?
Суть вопроса: есть 8 TextBox-ов для ввода шестнадцатиричных чисел состоящих из двух цифр ( АА,А1,D3 итд ). Я подсмотрел и адаптировал...

Автоматический перенос строки в textBox при нажатии на Enter
Доброго времени суток, форумчане! Есть функция для textBox, которая при нажатии на Enter отправляет сообщения. Но проблема в том, что...

Исключить из расчета пустой TextBox
Для d1 и d (и т.д.) одинаковый textBox3, но связи с тем, что у меня много таких значений (показал малую часть) я все обозначаю разными....

Автоматический подсчет и вывод результата
Код программы не получается изменить так,чтобы при вводе названия в терминале и рядом чисел - она автоматически считала и выводила...

Автоматический вывод итоговой суммы
Здравствуйте. Как в форме Прокат можно сделать так, чтобы подсчёт итогового поля вёлся во время ввода последнего значения (СрокПроката)?...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru