Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / синхронное написание в текстовых полях / 6 сообщений из 6, страница 1 из 1
01.08.2018, 12:16
    #39681937
assei
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронное написание в текстовых полях
Ребята подскажите возможно ли синхронное написание данных в текстовых полях, т.е. заносим(набираем текст) в одном текстовом поле, и сразу видно как синхронно набирается в другом текстовои поле
...
Рейтинг: 0 / 0
01.08.2018, 12:35
    #39681948
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронное написание в текстовых полях
Да, возможно. Вульгарное

Код: vbnet
1.
2.
3.
sub text1_change()
text2.text = text1.text
end sub


Главное - не устроить "карусель". Юзер топает в Text1, возникает Text1.Change, код меняет Text2.Text, возникает Text2.Change, он меняет Text1.Text, возникает Text1.Change, код меняет Text2.Text ... короче, всё зависло.
...
Рейтинг: 0 / 0
01.08.2018, 13:36
    #39682007
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронное написание в текстовых полях
на этот случай
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim busy As Boolean

Private Sub Text1_Change()
  If busy Then Exit Sub
  busy = True
  Text2.Text = Text1.Text
  busy = False
End Sub

Private Sub Text2_Change()
  If busy Then Exit Sub
  busy = True
  Text1.Text = Text2.Text
  busy = False
End Sub
...
Рейтинг: 0 / 0
01.08.2018, 15:25
    #39682089
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронное написание в текстовых полях
Казанскийна этот случай
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Dim busy As Boolean

Private Sub Text1_Change()
  If busy Then Exit Sub
  busy = True
  Text2.Text = Text1.Text
  busy = False
End Sub

Private Sub Text2_Change()
  If busy Then Exit Sub
  busy = True
  Text1.Text = Text2.Text
  busy = False
End Sub


достаточно проверить, что значения не одинаковые, тогда цепочка будет разрываться всегда.
аля 'if (_variable == value) return'. Речь ведь про строки, поле бизи только добавит путаницы и полей таких может быть дофига
...
Рейтинг: 0 / 0
01.08.2018, 15:39
    #39682096
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронное написание в текстовых полях
Roman Mejtesдостаточно проверить, что значения не одинаковые, тогда цепочка будет разрываться всегда.Хорошо, если там тупое копирование. А если значение одного поля только зависит от второго, но не равно ему, да ещё и соответствие неоднозначное?
...
Рейтинг: 0 / 0
01.08.2018, 16:04
    #39682105
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронное написание в текстовых полях
Roman Mejtesполе бизи только добавит путаницыЭто же вроде флаг, что не надо применять код, если он вызван при изменении другого поля. Какая путаница? Без этого флага есть огромные шансы получить бесконечный цикл.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / синхронное написание в текстовых полях / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]