Я создал специальный атрибут CategoryAttribute, чтобы локализовать свойства настраиваемых элементов управления.пользовательский атрибут категории для управления теневое свойство
<AttributeUsage(AttributeTargets.Property)> _
Public Class LocalisableCategoryAttribute
Inherits CategoryAttribute
Public Sub New(ByVal resourceName As String)
MyBase.New(resourceName)
End Sub
Protected Overrides Function GetLocalizedString(value As String) As String
Return My.Resources.ResourceManager.GetString(value)
End Function
End Class
Мои пользовательские элементы управления имеют как совершенно новые свойства с этим атрибутом, но я также слежка некоторые из «основных» свойств (например, размер и местоположение) для того, чтобы дать им этот атрибут.
<LocalisableCategory("Category_Apparence")> _
Public Shadows Property Size As Size
Get
Return MyBase.Size
End Get
Set(value As Size)
MyBase.Size = value
End Set
End Property
Большая проблема в том, что во время выполнения, иногда новая категория «Apparence» будет отображаться, а иногда старый «Layout» одна воля. Это нечетное поведение имеет только скрытые свойства. Это совершенно случайно. Это тоже не компиляция. Вы можете запустить .exe дважды подряд, и сетка свойств не будет показывать тот же результат. Иногда он ставится под свою старую категорию, иногда новую локализованную.
Я полностью в недоумении с этим, так как это так случайно. Может ли кто-нибудь помочь?