程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 介紹一個基於WinForm實現表單窗體設計器

介紹一個基於WinForm實現表單窗體設計器

編輯:關於C#

WinForm實現的外觀如圖所示,WinForm實現的功能包括基本的移動,拖動虛線邊框和手柄調整尺寸,移動和調整尺寸過程中均可繪制對齊線,自動對齊,和Visual Studio效果一樣,支持畫框多選後同時操作多個對象.

類圖:

我用的WinForm實現的方法自己感覺還是比較挫的,並不復雜.

看這個對象,我將虛線邊框定義為TargetSizeLine,將手柄定義為TargetSizeDot,TargetSizeGroup的意思是邊框組,用來保存若干個手柄對象和邊框對象,一個邊框組中一般保存四個邊框對象,分別為四條邊。

TargetSizeDot對象通過一個枚舉,TargetDirection,來表示其所代表的方向,這在調整目標對象的尺寸時使用.中間粉色的目標對象,我是從UserControl繼承的,為UserControlTarget,它綁定一個TargetSizeGroup對象。

通過邊框調整目標對象的尺寸是在邊框組對象中響應的,在類圖上可以看到TargetSizeGroup裡的事件:OnMouseDown,OnMouseMove,OnMouseUp。

拖動和調整尺寸只要響應這幾個鼠標事件即可。繪制對齊線和自動對齊其實也比較簡單,移動或調整對象尺寸時,和已有的其它對象對比,如果邊框距離相近,如5像素之內,就直接讓它靠到那條線上去,而畫線,就判斷如果邊框在同一條線上,就DrawLine。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved