WSS 3.0【開發誌】02 初體驗:以WinForm顯示網址與應用程式集區名稱

WSS 3.0【開發誌】02 初體驗:以WinForm顯示網址與應用程式集區名稱

繼第一篇使用Console顯示網址與應用程式集區名稱後,想說使用WinForm的方式來顯示看看好了!因為對WinForm的設計也不了解,順便練習一下!

本篇您將學會:

1. 使用WinForm物件

2. 使用Label & Textbox顯示網址與應用程式集區

3. 在WinForm進行namespace更名時要注意的事情

1. 在Visual C#增加一個新的專案,範本選用【Windows Application】,輸入【名稱】與【位置】點選【確定】。

clip_image002

2. 小弟同樣到專案 > 屬性修改【預設命名空間】,修改完畢後,到【Program.cs】檔更名舊的namespace。

clip_image004

3. 在【References】點選右鍵選擇【加入參考】,由於現在是在SharePoint的主機上,所以直接切到【瀏覽】頁籤,依循路徑【C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI】找到【Microsoft.SharePoint.dll】後,點選確定。

clip_image006

4. 這時可以看到【References】加入了【Microsoft.SharePoint】參考了。

clip_image008

5. 在Form1上,使用工具箱拉出一個【Label】與一個【Textbox】,然後在Form上點擊兩下,會進到【Form.cs】程式碼頁中。

clip_image010

6. 在Form.cs中,記得要先引用SharePoint namespace,就是鍵入using Microsoft.SharePoint; 輸入完畢後,開始撰寫程式碼吧!

clip_image012

7. 在private void這邊,加入以下程式碼:

SPSite rootCollection = new SPSite("http://wsscht");

label1.Text = "網址為" + rootCollection.Url + "的網站使用" + rootCollection.WebApplication.Name + "網站應用程式集";

textBox1.Text = "網址為" + rootCollection.Url + "的網站使用" + rootCollection.WebApplication.Name + "網站應用程式集";

這邊又摸了好久,不知道要怎麼將資料傳入label或textbox裡面,還以為是

Label1.Text = "網址為 {0} 的網站使用 {1} 網站應用程式集區", rootCollection.Url,…"

結果當然不對啦!

原來是要用組字串的方式…

clip_image014

8. 程式碼編輯完成,來Debug吧!假設您的方案裏面有多個專案的話,而只是要對某個專案進行Debug,請不要使用工具列上的Debug,反倒是要在該專案上進行Debug!如下圖,在WSSCode-02這個專案上點選右鍵,選擇【Debug】再點選【開始新執行個體】。

clip_image016

9. 發生建置錯誤?就選擇【是】看看會發生甚麼事情吧…

clip_image018

10. 訊息告知,無法debug…說是.exe不見了,請建立專案並重試,或者將組件名稱的屬性指到正確的目標組件上…有看沒有懂,不過對熟悉.NET開發的朋友來說應該是個easy case吧!

clip_image020

11. 直接點選【錯誤清單】的錯誤【描述】,點選之後,會自動帶到錯誤的程式碼!找到了市Dispose…有問題,不過,還是不了解,這時看到Form1.Designer.cs的namespace不對,趕緊修正再試試看!

clip_image022

12. 修正過後,果然OK了,可以看到Form1的Label與Textbox都顯示出網址與應用程式集區了!

clip_image024

在WinForm的實作當中如果變更了namespace名稱,除了要更改program.cs之外,還必須更改Form1.Designer.cs的namespace…

下一個來做Web Service吧…