2017-04-05 73 views
0

我有控制,我把它顯示爲工具提示。我有改變這個控制的大小及其在OnLayout方法如下面區域,控制區域第一次不更新

protected override void OnLayout(LayoutEventArgs e) 
{ 
    this.Size = calculatedSize; 

    Region region= new Region(this.ClientRectangle); 

    region.Exclude(new Rectangle(ClientRectangle.Width - balloonPointerWidth, ClientRectangle.Top, balloonPointerWidth, balloonPointerHeight)); 
    region.Exclude(new Rectangle(ClientRectangle.X, ClientRectangle.Top, ClientRectangle.Width - balloonPointerWidth, balloonPointerHeight)); 

    this.Region = region; 
} 

,我已經示出的控制,工具提示文提到的和區域的修飾變化只在第二次反射顯示和這些變化不會在第一次顯示時反映出來。

任何人都可以請讓我知道,如何使這些變化反映在第一時間本身,以便控件作爲工具提示將顯示更新區域。

問候, 阿邁勒拉吉U.

回答

0

你總是可以直接調用OnLayout,例如加載表單後。

protected override void OnLoad(EventArgs e) 
{ 
    //Do whatever setup you had going on before 
    base.OnLoad(e); 
    OnLayout(e); //First-time layout 
} 
+0

我沒有使用過表格。我使用了一個我彈出顯示的控件。 – Amal