2013-03-04 48 views
0

在c#.net 4窗體中,每當我添加一個對象時,它的位置就由它的左上角決定。 這意味着,如果我調整此對象的大小,它將從這一點調整大小。通過它的中心點定義對象位置

我有一個圖片框。如果我將寬度和高度更改爲更小的值,那麼圖片框似乎會移動,因爲它的邊框現在更接近它的左上角,從而移動了圖片框中心點。

我希望圖片盒在保持其位置的情況下重新調整比例 - 這意味着圖片的中心點將保持不變,而尺寸將圍繞此點分開(半上半下半半左半-對)。

這可能嗎?

+0

您使用的錨? – animaonline 2013-03-04 09:38:55

+0

是的,它被錨定在左側和頂部。嘗試刪除此?但是然後重新調整窗口將導致對象移動。你認爲這會解決我的問題嗎?我看不出它如何培訓相關 – Programer 2013-03-04 09:46:09

回答

0

這關我的頭腦和快速製作的,但這樣的:

void resizeFromCenter(PictureBox box, int w, int h) 
{ 
    var cenx = box.Left + box.Width/2; 
    var ceny = box.Top + box.Height/2; 
    box.Left = cenx - w/2; 
    box.Width = w; 
    box.Top = ceny - h/2; 
    box.Height = h; 
} 
+0

不能保證,沒有經過測試,通過這似乎是在朝着正確的方向的方式 – Jcl 2013-03-04 09:43:10

+0

...我會檢查了這一點 – Programer 2013-03-04 10:27:38

相關問題