轉帖|其它|編輯:郝浩|2010-12-14 15:36:00.000|閱讀 1115 次
概述:在這篇博客中我將向大家介紹一個集成在VisualStudio中的很酷很給力的設計器——MultiRow模板設計器。它與VisualStudio無縫集成,提供與VisualStudio一脈相承的設計體驗,可以使用VisualStudio提供的各種窗口、菜單命令等,你可以像使用WinForm設計器一樣使用它。所以本系列博客將重點介紹一些很酷的功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在這篇博客中我將向大家介紹一個集成在VisualStudio中的很酷很給力的設計器——MultiRow模板設計器。它與VisualStudio無縫集成,提供與VisualStudio一脈相承的設計體驗,可以使用VisualStudio提供的各種窗口、菜單命令等,你可以像使用WinForm設計器一樣使用它。所以本系列博客將重點介紹一些很酷的功能。
盡管該設計器是專門為MultiRow產品開發的,想學習、試用MultiRow產品的朋友們固然不容錯過,但是相信對其他朋友們也有很大的借鑒作用。
創建模板
那么,現在就讓我們從創建一個模板出發,開始本次的設計之旅吧!
首先你需要安裝MultiRow并創建一個項目。(MultiRow的下載地址等在本文的最下面會有詳細說明;MultiRow模板設計器不需要許可證書,一旦安裝就可以無限制永久免費使用)
然后打開"項目" 菜單,選擇"添加新項",并在對話框中選擇"MultiRow 6.0 模板"就可以直接添加一個空白的模板,選擇"MultiRow 6.0 模板生成向導"則會啟動模版生成向導。
如果你用的是Visual Studio 2008 或者Visual Studio 2010,也許這個對話框中有太多的項而不太容易找到MultiRow的模板,那么你可以在左邊選擇Windows Forms的子項,這樣找起來就容易多了:
(抱歉:由于本人機器上只安裝了Visual Studio 2010的英文版,所以截圖都是英文的,但應該不妨礙大家理解。)
當然,默認生成的模板是空白的,只有一個Header Section和一個Row。
你也可以使用向導生成一個有初始Cell的、更加漂亮的模板。有關如何使用向導以及如何將模板應用給MultiRow將在未來的文章中討論。
無論如何,自動生成的模板是遠遠不夠的,要想生成實際需要的模板,我們推薦的流程是這樣的:
把你想生成的模板劃分好區域,要迭代的區域放在Row;而Header和Footer區域可以有多個,最下面的Header一般用來輸入值并做選擇/過濾/排序,最上面的Footer用來放統計用的Cell,而其它的Header/Footer用來放靜態的標簽、圖標等。(這只是一般做法,實際你可以在任何Header/Footer區域放任何Cell)
先大概規劃好Section,比如固定Section的大小等。
往Section中填Cell。選定好Cell的類型,布局并給Cell起個跟功能相關的名字。
調整Cell的索引、"Tab"鍵順序等。
設置Cell的屬性、樣式等。
MultiRow模板設計器的基本使用方法
MultiRow模板設計器的基本使用方法與WinForm基本相同:
從"工具箱"/"數據源"窗口拖拽Cell到界面上。
選擇Template/Section/Cell并通過"屬性"窗口設值。
拖拽Cell移動或者按住'Ctrl'鍵拖拽Cell復制。
拖拽選中Cell外圈的裝飾調整大小。
使用快捷鍵或者右鍵菜單做剪切/復制/粘帖等。
使用VS的"布局"工具欄或者"格式"菜單等:
使用VS的其它工具窗口。
在設計器中切換到運行/打印預覽模式以快速的預覽對模板的改動。
使用MultiRow模板設計器獨有的工具欄和工具窗口(將在下文詳細介紹)。
運行模式
運行模式下可查看當前設定的模板在 GcMultiRow 中的行為效果。運行模式上 MultiRow 控件的屬性為默認設定。
在此模式下,Cell 編輯的值會一直保存到文檔窗口被關閉。
注意:在集成的運行模式下,由于VisualStudio環境的限制,所以可能有極少數的功能被禁用了而不起作用。所以最終的表現要以運行起來以后加載在Form上的MultiRow為準。
打印預覽模式
當前設定的模板在 GcMultiRow 中的打印預覽效果。此時 MultiRow 控件的屬性為默認設定。
你可以通過內嵌的工具欄來配置打印:
工具欄
MultiRow模板設計器提供了一個專用的工具欄,工具欄上集成了很多很常用的功能,比如設置字體、文字對齊方式,設置Cell的顯示信息,打開工具窗口等。
右鍵點擊工具欄的任何區域,并在彈出的菜單中將"MultiRow 6..0 模板設計器"勾選上,就可以看到該工具欄了。
模板管理器
當模板中Cell比較多的時候,你往往會眼花繚亂,這時"模板管理器"就特別有用。通過它,你可以一覽當前模板中的所有元素(Template\Section\Cell)以及它們之間的關系。有關模板管理器的具體用法將在未來的文章中討論。
屬性管理器
另一個更加特別有用的窗口是"屬性管理器"。如果你用過Form設計器,你一定遇到過這樣一種場景:我只需要查看/修改某個Control的某個屬性,卻需要我在一大堆Control中找到并選擇這個Control,然后打開"屬性"窗口,再在一大堆屬性中找到我關心的屬性,最后才是查看/修改這個屬性值,是不是很麻煩 %>_<% 呢?
MultiRow提供了"屬性管理器"幫助你管理當前模板中所有Cell的常用屬性。有關"屬性管理器"的具體用法將在未來的文章中討論。
NamedCellStyle 管理器
MultiRow模板設計器提供的最后一個工具窗口叫"NamedCellStyle 管理器"(即命名樣式管理器),"NamedCellStyle "管理器是管理模板中所有 NamedCellStyle 的窗口。使用此窗口,只需單擊 1 次窗口中列出的 NamedCellStyle,便可將此 Style 應用于已選的 Cell。可在此窗口中添加、刪除和更改 NamedCellStyle。此窗口與 Visual Studio 2008 中創建 ASP.NET Web 應用程序時所使用的"應用 Style"窗口相似。
你可以把它與"工具箱"、"數據源"窗口一起停靠在VisualStudio的左上角:
菜單
除了工具欄和工具窗口外,MultiRow模板設計器還在VisualStudio中集成了一個菜單,通過該菜單,你可以完成一些基本的操作。比如通過導入/導出布局,你可以把當前的模板保存為xml文件,然后在其他模板設計器中或者通過代碼導入,以方便模板的共享。
Table
MultiRow最大的特點是自由布局,所以對MultiRow的模板設計器的操作就像Form設計器一樣是以Cell為單位的。但很多時候,你需要的模板中間有很大一片區域就是一個方方正正的標準表格,如果要一個一個Cell的拼出這樣一個表格的話,是不是太麻煩了?沒關系,MultiRow的模板設計器早就考慮到了你的這種用例,并提供了一攬子解決方案,這就是"Table"。詳情將在未來的文章中討論。
設計樣圖
當你的客戶/老板給你一張紙或者一個軟件的截圖,讓你精確的照著紙/圖片設計一個模板的時候,你是不是很痛苦?需要不停的對比圖片和模板,然后微調Cell和Section。其實MultiRow模板設計器已經提供了設計樣圖的能力:
在MultiRow模板設計器中點擊模板的灰色區域或者標尺的左上角選擇模板,然后在"屬性"窗口中找到TracingImage這個屬性,把你的圖片(如果是紙上的你需要先把它掃描到電腦上并用其它圖像處理軟件做些預處理,比如把圖片旋轉正)設給它,導入的圖片就會出現在模板的背景中,你只需要根據背景上的圖片調整/擺放Section/Cell即可:
當然,Template上還有幾個其它屬性來控制設計樣圖。比如默認情況下你可以單擊Section的空白區域拖拽樣圖,但是把TracingImageLocked設成True后,設計樣圖就拽不動了。
一些很酷的細節
一個產品,最重要的是細節。MultiRow是一款精心打磨的產品,對細節的追求達到了極致,MultiRow 模板設計器的每一個功能,沒一個按鈕,甚至每一條線,每一個像素都經過嚴格的測試。
現在就讓我們來看看MultiRow模板設計器的幾個細節:
1、 豐富的對話框:每一個對話框都經過精心設計,布局嚴謹大方;每一個對話框都可以實現全鍵盤操作,對話框上每一個可操作的Control都有快捷鍵,它們的"Tab"鍵順序也經過精心設計;每一個對話框都有幫助按鈕,你可以點擊該按鈕或者使用"F1"鍵直接導航到幫助文檔的相關內容。
2、 你在設計器中的幾乎所有對模板有影響的操作都能夠撤銷/重做(Undo/Redo),特別是通過"屬性"窗口對Style的子屬性進行的修改也可以撤銷/重做。而在Form設計器中修改復雜類型屬性的子屬性是不能撤銷/重做的。
3、 設計器的皮膚會根據操作系統的不同而自動適應:
4、 標尺上的小花招:
你注意到標尺的左上角又一個小方塊了嗎?當選中的是模板對象本身時,你注意到這個小方塊的變化了嗎?當然,你也可以直接點擊這個小方塊而選中模板。
你又有沒有注意到鼠標移動到標尺上時,光標發生了變化?試試按下鼠標拖拽看看,放手后拖拽區域的所有Cell是不是都被選中了?這在Cell特別密集,Section上沒有太多空白空間而又想片選Cell的時候特別有用。
拖拽Cell的時候,標尺上的陰影你總該注意到了吧?有趣的是:標尺上的陰影會根據你拖拽Cell的多少而呈現出不同的濃度:
標尺的單位也是可以改變的,你可以功過上文提到的"設置"對話框中的RulerUnit屬性進行設置,可供選擇的單位有:英寸、厘米和像素(默認)。
5、 調皮的表頭:
Table的行頭怎么跑到右邊去了?這是因為標尺在模板的設計區域之外,如果把行頭放在左邊,則會被標尺壓住而無法顯示,導致你無法對Table中的行進行操作,所以當Table的左邊放不下行頭時,我們把它挪到了右邊。而Table角上顯示的鎖表示當前Table被鎖定了,無法調整行/列的大小。
設計器語言
實際上,你下載的MultiRow中文版產品默認已經支持2種語言:中文和英文。MultiRow模板設計器使用的語言會根據你使用的VisualStudio的語言不同而自動選擇,在中文VisualStudio中使用中文,而在英文VisualStudio中使用英文,跟操作系統的語言無關。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載