MoveTo

TemplateTableLayout.MoveTo method

Creëert een nieuwe lay-out met dezelfde grootte, scheidingstekens en positie in hetpoint .

public TemplateTableLayout MoveTo(Point point)
Parameter Type Beschrijving
point Point De positie van de nieuwe lay-out.

Winstwaarde

Een nieuwe lay-out met dezelfde grootte, scheidingstekens en positie in depoint.

Voorbeelden

Deze functionaliteit maakt het mogelijk om Table Layout te verplaatsen.

Een document heeft bijvoorbeeld tabellen op elke pagina (of een set documenten met een tabel op de pagina). Deze tabellen verschillen qua positie en inhoud, maar hebben dezelfde kolommen en rijen. In dit geval kan een gebruiker definiërenTemplateTableLayout bezwaar bij(0, 0) eenmaal en verplaats het dan naar de locatie van de definitieve tabel.

Als de tabelpositie afhankelijk is van het andere object van de pagina, kan een gebruiker dit definiërenTemplateTableLayout object gebaseerd op sjabloondocument en verplaats het vervolgens volgens een ankerobject. Als dit bijvoorbeeld een samenvattingstabel is en wordt deze gevolgd door een detailtabel (die een ander aantal rijen kan bevatten). In dit geval kan een gebruiker definiërenTemplateTableLayoutobject op sjabloondocument (met de rechthoek met bekende details) en verplaats vervolgens TemplateTableLayout object volgens het verschil in detailtabel rechthoek van sjabloon en echt document.

MoveTo methode retourneert een kopie van het huidige object. Een gebruiker kan alle coördinaten doorgeven (zelfs negatief - dan wordt de lay-out naar links/boven verplaatst).

// Maak een tabellay-out
TemplateTableLayout layout = new TemplateTableLayout(
    new double[] { 0, 25, 150, 180, 230 },
    new double[] { 0, 15, 30, 45, 60, 75 });

// Druk een rechthoek af
Rectangle rect = layout.Rectangle;

// Afdrukken: pos: (0, 0) maat: (230, 75)
Console.WriteLine(string.Format("pos: ({0}, {1}) size: ({2}, {3})", rect.Left, rect.Top, rect.Size.Width, rect.Size.Height));

// Verplaats de lay-out naar de definitieve tabellocatie
TemplateTableLayout movedLayout = layout.MoveTo(new Point(315, 250));

// Zorg ervoor dat de eerste scheidingstekens zijn verplaatst:
Console.WriteLine(movedLayout.VerticalSeparators[0]); // afdrukken: 315
Console.WriteLine(movedLayout.HorizontalSeparators[0]); // afdrukken: 250

Rectangle movedRect = movedLayout.Rectangle;

// Prints: pos: (315, 250) maat: (230, 75)
Console.WriteLine(string.Format("pos: ({0}, {1}) size: ({2}, {3})", movedRect.Left, movedRect.Top, movedRect.Size.Width, movedRect.Size.Height));

// verplaatstLayout-object is een kopie van het lay-outobject, dus we kunnen scheidingstekens afstemmen zonder dat dit gevolgen heeft voor de originele lay-out:
movedLayout.HorizontalSeparators.Add(90);

Console.WriteLine(movedLayout.HorizontalSeparators.Count); // afdrukken: 7
Console.WriteLine(layout.HorizontalSeparators.Count); // afdrukken: 6

Zie ook