Я бы получил "объект поддержки", чтобы вызвать измененное событие IsLoginEnabled
при обновлении любого из 3 полей. Затем вы можете привязать кнопку к свойству IsLoginEnabled и больше не проверять ее.
Псевдокод будет выглядеть примерно так:
Public Event IsLoginEnabledChanged As EventHandler
Public Property User() As String
Get.. ' snipped for brevity
Set(ByVal value As String)
mUser = value
RaiseEvent IsLoginEnabledChanged(Me, New EventArgs())
End Set
' do the same in the Set for Password() and Server() properties
Хитрость в этом заключается в присвоении имени событию [PropertyName]Changed
(т.е. IsLogonEnabledChanged
) - потому что повышение этого события автоматически уведомит любые связанные элементы управления: o)