Чтобы сделать свойство доступным только для чтения, наследуйте преобразователь типов и переопределите метод CanConvertFrom.Например:
Public Class ReadOnlyStringConverter
Inherits StringConverter
Public Overrides Function CanConvertFrom(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal sourceType As System.Type) As Boolean
Return (sourceType IsNot GetType(String)) AndAlso MyBase.CanConvertFrom(context, sourceType)
End Function
End Class
Единственным недостатком является то, что текст не доступен только для чтения, поэтому можно ожидать, что его можно будет редактировать.
Если он отключен, онхорошо, чтобы вложить класс и сделать его закрытым, чтобы он не загромождал ваш разум.
Чтобы отключить редактор, добавьте следующий атрибут:
<Editor(GetType(UITypeEditor), GetType(UITypeEditor))> _
Недостаточно добавить:
<Editor()> _
Если вы это сделаете, то существующий редактор все равно будет выбран.