2
我希望我的UserControl自動更新其Region屬性。我希望它是合併在一起的兒童控制區域的組合。爲UserControl創建組合區域
這裏是我到目前爲止有:
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
Region region = new Region(new Rectangle(Point.Empty, Size.Empty));
foreach (Control control in Controls)
{
if (control.Region != null)
region.Union(control.Region);
else
region.Union(control.Bounds);
}
Region = region;
Invalidate();
}
問題是,這是行不通的:行region.Union(control.Region);
必須改變,因爲地區不包括有關左側與頂端的控制的偏移信息。
我該怎麼辦?
如何創建控件的地區?通過GraphicsPath?一氣呵成還是漸進? – TaW
@Taw - 是的,一次使用GraphicsPath。有關係嗎? – walruz
您可以存儲這些GraphicsPaths,也許在標籤中,然後將它們用於聯盟。你可以用Matrix來移動它們。 – TaW