控制区域未首次更新

时间:2017-04-05 06:33:24

标签: c# windows winforms controls

我有控件,我将其显示为工具提示。我已经在 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;
}

我已将控件显示为提到的工具提示,并且区域中修改的更改仅在第二次显示时反映,并且更改未在第一次显示时反映。

任何人都可以让我知道,如何让更改在第一时间反映,以便控件作为工具提示将显示更新的区域。?

此致 Amal Raj U。

1 个答案:

答案 0 :(得分:0)

您可以随时直接致电OnLayout,例如加载表格后。

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