Я в основном создал 2 дочерних элемента управления и хочу установить их ширину равной ширине родительского составного элемента управления. Проблема в том, что когда я делаю это, используя свойство parent.Size, оно не работает. Он работает только один раз, когда вы добавляете элемент управления.
Должен ли я переопределить событие, а не собственность? Я думал, что изменение свойства будет сигнализироваться с изменением размера, верно?
EDIT:
Вот код, свойство не работает, но событие OnResize сработало.
Q2: Разве OnResize EventArgs не может дать мне новый размер?
public partial class CollapsableCtrl : UserControl
{
public CollapsableCtrl ( )
{
this.ChildCtrl = new CustomCtrl ( );
this.Size = new Size ( 181, 82 );
this.Controls.Add ( this.ChildCtrl );
}
CustomCtrl ChildCtrl { get; set; }
public new Size Size
{
get { return base.Size; }
set
{
this.ChildCtrl.Size = value;
Invalidate ( );
}
}
protected override void OnResize ( EventArgs e )
{
base.OnResize ( e );
this.ChildCtrl.Size = this.Size;
}
}