2011-07-20 107 views
2

我想根據項目調整的自定義控制它的內容 這對我不工作:自定義控制調整大小C#

public CustomControl() 
{ 
    InitializeComponent(); 
    if (ErrorLimits == false && Range == false) 
    { 
     this.Size = new Size(100, 100); 
     this.Invalidate(); 
    } 
    else 
    { 
     this.Size = new Size(250,250); 
     this.Invalidate(); 
    } 

} 

它變着法子,我怎樣才能實現呢? 謝謝!

+0

你確定你沒有設置Dock/Anchor屬性嗎? –

+0

我想改變自定義控件中的自定義控件automaticaly的大小,而不是以另一種形式改變我的自定義控件的外部尺寸 –

+0

我猜Kshitij的意思是對接/錨定將覆蓋通過將值分配給Size屬性設置的值。 –

回答

3

包含窗體將實例化CustomControl,然後在窗體的InitializeComponent函數中設置其屬性。在表單設計器中設置的屬性值在構造函數到CustomControl已完成後應用(如果您考慮它,則必須是)。

由於您在控件的構造函數中設置自定義尺寸,因此在顯示窗體之前可能會立即被設計器值忽略。

設置尺寸的更好的地方是UserControl.Load事件,該事件發生在設計器屬性設置後。

更好的選擇是正確支持auto sizing