2009-09-09 10 views

risposta

29

Presumibilmente non è stato ritenuto utile per meritare l'inclusione.

Si potrebbe facilmente aggiungerlo come un metodo di estensione, se si desidera anche se (e se si sta utilizzando C# 3):

public static Point Center(this Rectangle rect) 
{ 
    return new Point(rect.Left + rect.Width/2, 
        rect.Top + rect.Height/2); 
} 

Si noti che i valori sono espressi come numeri interi, si potrebbe facilmente finire ottenendo un valore non esatto, assumendo che si desideri restituire uno Point anziché un'altra struttura utilizzando decimal o double.

Quanto sopra è in realtà per la struttura System.Drawing.Rectangle. Se stai parlando di un rettangolo diverso, aggiungi le informazioni appropriate e modificherai la mia risposta.

+0

Come aggiungere questa estensione a System.Drawing.Rectangle? – CallMeLaNN

+1

@CallMeLaNN: basta dichiararlo in una classe statica, non generica, di livello superiore. Per ulteriori dettagli, consulta i metodi di estensione in generale, ad es. in MSDN. –

+0

http://connect.microsoft.com/VisualStudio/feedback/details/93879/system-drawing-rectangle-needs-centerpoint-property è dove è stato suggerito formalmente. – Stobor

5

Esiste all'interno di Microsoft.XNA.Framework (non più supportato).

Rectangle.Center Property

myRectangle.Center restituisce un Point

+0

in quale versione? .net 5? – Benny

+0

4.5.51641 ce l'ha. Non sono sicuro quando è stato aggiunto. – Evorlor

+0

A quale tipo si riferisce? Un link sarebbe utile. –

Problemi correlati