У меня есть форма пользователя, которая содержит объект TextBox
с именем myTextBox
.Остановка события «TextBox_Change» от выполнения, если вызывается по коду
текст внутри объекта может быть изменен либо пользователем или по коду. Там в процедуры «OnChange», присоединенные в текстовое поле:
Private Sub myTextBox_Change()
'do some stuffs
End Sub
Я хотел бы событие для обработки только тогда, когда это пользователь изменения текста, но не код. Я думал о добавлении Необязательный параметр, как в следующем:
Private Sub myTextBox_Change(Optional isCode As Boolean)
If isCode = False Then
'do some stuffs
End If
End Sub
, но это не очень полезно, потому что я не могу передать isCode = True
при изменении названия программно, например:
myForm.myTextBox = "new text"
Кто-нибудь есть идея о том, как я могу это исправить?
Неплохая идея, я также подумал о свойстве формы 'isCode', чтобы установить' True' или 'False' в зависимости от того, хочу ли я, чтобы обработчик событий был запущен, но будет ждать немного больше, чтобы увидеть если кто-то знает какой-то способ деактивировать обработчик событий в VBA (я думаю, это было бы более чистым). –
Наконец, решив использовать ваше решение, я предпочел не перегружать форму бесполезными свойствами, и никто еще не сказал мне, как удалить слушателя изменений! спасибо –