我正在創建一個Windows窗體,其中包含PictureBox
控件,並且需要知道它們相對於窗體的位置。我想將它們的容器更改爲表單,但它們必須保持在它們已有的Panel
控件之上。是否有方法通過代碼設置圖片框的容器?設置C#圖片框容器
0
A
回答
1
請問您可以通過設置控件Parent
屬性然後調用BringToFront
方法來完成。
但是改變父母也會改變控制位置的處理,所以爲了保持它的原始位置,你需要知道表單的相對位置。這會讓你回到原來的問題。
控制到窗體的相對位置可以通過使用PointToScreen
和PointToClient
方法,這樣可以deteremined:
public static class ControlUtils
{
public static Point GetFormLocation(this Control control)
{
return control.FindForm().PointToClient(control.PointToScreen(control.Location));
}
}
所以你可以使用
var formLocation = pictureBox.GetFormLocation();
任何時候,你需要知道知道您的圖片框與表單的相對位置。
如果這就是你所需要的,我建議你不要改變它們的容器。但如果你仍然想這樣做,你可以使用這樣的事情:
var location = pictureBox.PointToScreen(pictureBox.Location);
pictureBox.Parent = pictureBox.FindForm();
pictureBox.Location = pictureBox.Parent.PointToClient(location);
pictureBox.BringToFront();
相關問題
- 1. 如何設置卡片佈局容器?
- 2. C#從圖片框
- 3. 設置圖片框中圖片的大小?
- 4. 在SKMapView上設置容器邊界框
- 5. 隨機生成器與圖片框設置爲可見
- 6. 更改圖片框中的圖片C#
- 7. C# - 圖片框中的圖片漸變
- 8. 圖片從網頁瀏覽器控制到圖片框 - C#
- 9. 使用C++設置容器時出錯
- 10. 圖片位置圖片框的屬性
- 11. C#更容易的方式創建圖片框(48x框)
- 12. 在WordPress圖片上傳器中設置所選圖片
- 13. 設置asp:從System.Drawing.Image圖片圖片
- 14. 設置圖片框的圖像屬性上運行時CF C#創建
- 15. C中的圖片框#
- 16. C#拖放圖片框2
- 17. 添加框到圖片C#
- 18. 繪製圖片框C#
- 19. 移動圖片框C#
- 20. C#刪除圖片框
- 21. C#光標和圖片框
- 22. 將圖片框劃掉C#
- 23. 圖片邊框和角C++
- 24. 其他容器內的藍圖容器,設置高度:100%
- 25. 圖片框在圖片框
- 26. 在C#中設置基於過濾器的圖形框架
- 27. C#圖片框上的另一個圖片框
- 28. C#從一個圖片框拖放到另一個圖片框
- 29. 使用圖片大小設置視圖框架ios
- 30. 如何將圖像從文本框設置爲圖像列表或圖片框
投資你的時間在WPF; winforms已被棄用。 – Krythic
謝謝,這非常有幫助。 。 。 *不是真的* – Akinni
無論你現在怎麼想,你最終都會轉換爲WPF。我曾經是一個狂熱的Winforms類型的人,用它來做一切事情。一旦我嘗試了WPF,我從來沒有回去。如果你現在不明白,你肯定會遲一點,當發生這種情況時,你應該重新訪問這篇文章。 – Krythic