我基本上創建了2個子控件,我想將它們的寬度設置爲等於父組合控件的寬度。問題是當我使用parent.Size屬性執行此操作時,它不起作用。它僅在添加控件時才起作用。如何更改winforms中複合控件中子控件的大小?
我應該重寫一個事件而不是屬性?我認爲財產變動將以調整大小來表示,對吧?
編輯:
下面是代碼,屬性不起作用,但是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;
}
}
目前尚不清楚你現在在做什麼,以及它如何工作。請顯示一些代碼。 – 2009-10-05 23:00:06
對不起,你是對的。增加了一些代碼。 – 2009-10-05 23:06:11