寫Form設計器嘗試 一

2021-04-18 23:46:40 字數 1292 閱讀 7393

eddie sheffield

作為微軟之外的第乙個發現啟用

form designer

的人,確實是了不起

。幾年過後的今天,已經可以

找到一些關於form designer的資料,雖然不多也不全面,但畢竟還是有一些。我手上的資料是:1、《

》中文版,第

16章專門講

form

設計器;2、

windowsforms.net

sharpdevelop

得到的思路;3、

winres

這個工具,隨

vs2005/.net framework2.0

帶的乙個資源本地化的工具。可以反編譯看看它的原始碼。對比1

、2與3,

我發現兩者雖然都實現了

form designer

,但設計思路迥然不同,顯然

winres

用的辦法要簡明。原因是

.net 2.0

增強了設計器的功能並簡化了設計器的呼叫方法。由於時間限制,短期內寫乙個功能完善的

form

設計器可能難。我想做的是做一些測試,得出基於.net 2.0寫乙個

form

設計器的基本方法。

我想先寫乙個沒有任何功能但能看到設計器樣式的小例子來測試。以後再慢慢增加設計的功能,比如控制項的新增刪除,屬性的設定,儲存檔案等功能。

我們的步驟如下:

在vs2005中(

我用的版本是

rc)新建乙個

c# windowsform

方案,

在工程的引用中增加

system. design,  

在form1

的**中先新增

using

system.componentmodel.design;

然後雙擊

form, 在form的load事件中寫以下**:

designsu***ce su***ce 

=new

designsu***ce();

su***ce.beginload(

typeof

(form));

control view 

=(control)su***ce.view;

view.dock 

=dockstyle.fill;

this

.controls.add(view);

然後執行方案,這是最簡單也沒任何用處的窗體設計器了,但至少我們能調整那個被設計

form

的大小:)

寫Form設計器嘗試 一

新建乙個c windowform方案,在工程的引用中增加system.design,在form1的 中先新增 using system.componentmodel.design 然後雙擊form,在form的load事件中寫下以下 designsu ce su ce new designsu ce...

寫Form設計器嘗試 三 在窗體上新增控制項

新建乙個繼承自toolboxservice的類,名為demotoolboxservice,加上必要的using語句,在所繼承的類名上按滑鼠右鍵,點實現抽象類,已經幫我們自動完成了demotoolboxservice的框架,由於我們需要在設計器窗體上顯示乙個工具箱,就像vs左側的那個工具面板,不過我們...

寫Form設計器嘗試 五 讓設計器使用自定義控制項

在 寫form 設計器嘗試 三 leejee 提出了自定義控制項的問題。我於是作了乙個小測試,來實現設計器中使用自定義控制項。先要準備乙個自定義控制項。新建乙個 windows 控制項方案,命名為 mycontrol,新增乙個名為 comboboxfield 的使用者控制項,在該使用者控制項上放乙個...