Pages

2012-11-29

Resizable移動控制項

在WinForm程式裏,有些UI的呈現是與視窗位置有極大相關性,例如像Diagram圖及電子地圖、流程功能圖等應用,可以利用像Visual Stdio.NET的IDE編輯功能,利用滑鼠能拖曳方塊位置,並調整Size。我們只需要將的相對位置(長、寬、前後景)儲存,下次開啟讀取設定檔即可。

這種沒什麼現成商業控件可用,它的基本原理就是利用GDI+技術畫四周虛線及動態產生四周8個小白色方塊,利用控制項MouseMove()事件來即時調整Size及位置而己,其計算方式有些Dirty Work,建議網上搜尋參考別人的基礎再酌些調整即可。

Resizable Control

ResizeControlPicker helper = new ResizeControlPicker();
helper.Add(panel1);
helper.Add(textBox1);

你可下載Demo程式試試效果。
Download from Dropbox (.NET 4.0 Portable, 63.14KB, 2012/11/29 Updtaed)