Я в основном создал 2 дочерних элемента управления и хочу, чтобы их ширина была равна ширине основного составного элемента управления. Проблема в том, что когда я делаю это с использованием свойства parent.Size, это не работает. Он работает только один раз, когда вы добавляете элемент управления.Как изменить размер дочерних элементов управления в составном элементе управления в winforms?
Я должен переопределить мероприятие, не являющееся собственностью? Я думал, что изменение свойств будет сигнализировано с изменением размера, не так ли?
EDIT:
Вот код, свойство не работает, но событие OnResize работал.
Q2: не должен OnResize EventArgs e дать мне новый размер?
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;
}
}
Непонятно, что вы сейчас делаете и как это не работает. Пожалуйста, покажите код. –
Извините, вы правы. Добавлен код. –