Вы можете попытаться воссоздать пользовательский элемент управления.
Исключить старый элемент управления из проекта, чтобы сохранить его на диске.
Переместить старые файлы за пределы папки проекта (MyBaseControl.cs
&MyBaseControl.Designer.cs
).
Используйте мастер Project > Add > User control
.
Скопируйте в него старый код.
И не удаляйте InitializeComponent();
из конструктора:добавьте ваш код после.
Это может работать и решить вашу проблему, если Visual Studio не поврежден, иначе вы можете попробовать восстановить или удалить и переустановить его.
Вот что я пытался:
Я добавил этот пользовательский контроль:
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
}
Я скомпилировал.
Я добавил еще один пользовательский контроль и изменилродитель:
public partial class UserControl2 : UserControl1
{
public UserControl2()
{
InitializeComponent();
}
}
Работает нормально и дизайнер отображает оба корректно.
Далее я добавил ваш код , удерживая вызов InitializeComponent()
:
public partial class UserControl1 : UserControl
{
internal Int32 _caseID;
internal object _objectID;
public int CaseID { get => _caseID; set => _caseID = value; }
public object ObjectID { get => _objectID; set => _objectID = value; }
internal virtual void MakeScreenReadOnly()
{
}
public UserControl1()
{
InitializeComponent();
Type systemType = this.GetType();
PropertyInfo propertyInfo = systemType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
this.AutoScroll = true;
}
}
Компилирую.
Все тоже отлично работает.