У меня была похожая проблема.Код компонента вызвал эту ошибку.Простое решение в моем случае заключалось в инкапсуляции всего кода, который работает с графическими компонентами:
if (this.Created)
{
// insert code with other components here
}
К сожалению, это решение не работает правильно с управлением вкладками (когда компонент не находится на первой видимой вкладке) .
В моем случае проблема была вызвана имуществом.Свойство имеет активную инициализацию дочерних компонентов.Окончательное решение:
[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
[Category("Main")]
[Description("...")]
[DefaultValue(MyDataClass.None)]
public MyDataClass Data
{
get
{
return this.data;
}
set
{
if (object.ReferenceEquals(value, null))
value = MyDataClass.None; // not null - valid state of no data
if (this.Created)
{
this.textEdit.Text = value.ToString();
}
this.data = value;
}
}
protected override void OnVisibleChanged(EventArgs e)
{
base.OnVisibleChanged(e);
if (!this.DesignMode)
this.Data = this.data;
}
Для устранения ошибки используйте либо [Browsable(false)]
, либо переопределите OnVisibleChanged
.