У меня проблемы с двумя пользовательскими элементами управления в VB.Net.Я использую VS2012.UserControl - это панель с именем DataDriver , которая динамически создается в форме.В DataDriver есть элемент управления, который является экземпляром другого UserControl, определенного в проекте, и называется DataLink . DataLink позволяет пользователю выбрать источник данных (фактически именованную строку соединения).Оба элемента управления UserControl определены в одном и том же проекте.
В какой-то момент в течение последних 24 часов я открыл DataDriver в режиме разработки, и он показал мне экран, который я часто получаю с такими состояниями: "Чтобы предотвратить возможную потерю данных перед загрузкой конструктора, необходимо устранить следующие ошибки: «со ссылкой« Игнорировать и продолжить », которую я щелкнул.Я не совсем уверен, почему это появляется, но это так.
Как только я открыл DataDriver , я обнаружил, что UserControl DataLink исчез.Я создал его новый экземпляр и попытался переименовать его в исходное имя (ucDataLink) с ошибкой:
Значение свойства недопустимо.Уже есть компонент с именем 'ucDataLink'.Компоненты должны иметь уникальные имена, а имена должны быть без учета регистра.Имя также не может конфликтовать с именем любого компонента в унаследованном классе.
Я закрыл проект, прошел через три компонента UserControl DataDriver (дизайнер, Resx и код) и удалил все ссылки на ucDataLink, и до сих пор продолжает вызывать эту ошибку.Я потенциально могу использовать другое имя, но это имя имеет смысл, и я хотел бы знать, как его разрешить.
Дополнительная информация.Элемент управления DataDriver создается только во время выполнения.Форма, в которой он создан, имеет открытый метод, который вызывается.Форма настраивает динамические элементы управления, как показано ниже, и затем показывает, используя me.ShowDialog ().
moActionEdit = New DataDriver
moActionEdit.Globals = g
moActionEdit.ConnectionName = mcConnectionName
moActionEdit.left = 0
moActionEdit.Top = 0
moActionEdit.width = pnl.Width
moActionEdit.Height = pnl.Height
moActionEdit.Anchor = AnchorStyles.Top + AnchorStyles.Left + AnchorStyles.Right + AnchorStyles.Bottom
moActionEdit.Job = moJob
pnl.Controls.Add(moActionEdit)
moActionEdit.Visible = True
If Not moActionEdit.Init() Then
moActionEdit.Visible = False
Throw New DolphinException("Could not initialise data entry panel for this action type correctly.", True)
End If
Как мне успешно переименовать мой UserControl обратно в ucDataLink ?