轉(zhuǎn)帖|其它|編輯:郝浩|2010-12-14 15:36:00.000|閱讀 1115 次
概述:在這篇博客中我將向大家介紹一個集成在VisualStudio中的很酷很給力的設(shè)計器——MultiRow模板設(shè)計器。它與VisualStudio無縫集成,提供與VisualStudio一脈相承的設(shè)計體驗,可以使用VisualStudio提供的各種窗口、菜單命令等,你可以像使用WinForm設(shè)計器一樣使用它。所以本系列博客將重點(diǎn)介紹一些很酷的功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在這篇博客中我將向大家介紹一個集成在VisualStudio中的很酷很給力的設(shè)計器——MultiRow模板設(shè)計器。它與VisualStudio無縫集成,提供與VisualStudio一脈相承的設(shè)計體驗,可以使用VisualStudio提供的各種窗口、菜單命令等,你可以像使用WinForm設(shè)計器一樣使用它。所以本系列博客將重點(diǎn)介紹一些很酷的功能。
盡管該設(shè)計器是專門為MultiRow產(chǎn)品開發(fā)的,想學(xué)習(xí)、試用MultiRow產(chǎn)品的朋友們固然不容錯過,但是相信對其他朋友們也有很大的借鑒作用。
創(chuàng)建模板
那么,現(xiàn)在就讓我們從創(chuàng)建一個模板出發(fā),開始本次的設(shè)計之旅吧!
首先你需要安裝MultiRow并創(chuàng)建一個項目。(MultiRow的下載地址等在本文的最下面會有詳細(xì)說明;MultiRow模板設(shè)計器不需要許可證書,一旦安裝就可以無限制永久免費(fèi)使用)
然后打開"項目" 菜單,選擇"添加新項",并在對話框中選擇"MultiRow 6.0 模板"就可以直接添加一個空白的模板,選擇"MultiRow 6.0 模板生成向?qū)?quot;則會啟動模版生成向?qū)А?/p>

如果你用的是Visual Studio 2008 或者Visual Studio 2010,也許這個對話框中有太多的項而不太容易找到MultiRow的模板,那么你可以在左邊選擇Windows Forms的子項,這樣找起來就容易多了:

(抱歉:由于本人機(jī)器上只安裝了Visual Studio 2010的英文版,所以截圖都是英文的,但應(yīng)該不妨礙大家理解。)
當(dāng)然,默認(rèn)生成的模板是空白的,只有一個Header Section和一個Row。

你也可以使用向?qū)梢粋€有初始Cell的、更加漂亮的模板。有關(guān)如何使用向?qū)б约叭绾螌⒛0鍛?yīng)用給MultiRow將在未來的文章中討論。

無論如何,自動生成的模板是遠(yuǎn)遠(yuǎn)不夠的,要想生成實(shí)際需要的模板,我們推薦的流程是這樣的:
把你想生成的模板劃分好區(qū)域,要迭代的區(qū)域放在Row;而Header和Footer區(qū)域可以有多個,最下面的Header一般用來輸入值并做選擇/過濾/排序,最上面的Footer用來放統(tǒng)計用的Cell,而其它的Header/Footer用來放靜態(tài)的標(biāo)簽、圖標(biāo)等。(這只是一般做法,實(shí)際你可以在任何Header/Footer區(qū)域放任何Cell)
先大概規(guī)劃好Section,比如固定Section的大小等。
往Section中填Cell。選定好Cell的類型,布局并給Cell起個跟功能相關(guān)的名字。
調(diào)整Cell的索引、"Tab"鍵順序等。
設(shè)置Cell的屬性、樣式等。
MultiRow模板設(shè)計器的基本使用方法
MultiRow模板設(shè)計器的基本使用方法與WinForm基本相同:
從"工具箱"/"數(shù)據(jù)源"窗口拖拽Cell到界面上。
選擇Template/Section/Cell并通過"屬性"窗口設(shè)值。
拖拽Cell移動或者按住'Ctrl'鍵拖拽Cell復(fù)制。
拖拽選中Cell外圈的裝飾調(diào)整大小。
使用快捷鍵或者右鍵菜單做剪切/復(fù)制/粘帖等。
使用VS的"布局"工具欄或者"格式"菜單等:

使用VS的其它工具窗口。
在設(shè)計器中切換到運(yùn)行/打印預(yù)覽模式以快速的預(yù)覽對模板的改動。

使用MultiRow模板設(shè)計器獨(dú)有的工具欄和工具窗口(將在下文詳細(xì)介紹)。
運(yùn)行模式
運(yùn)行模式下可查看當(dāng)前設(shè)定的模板在 GcMultiRow 中的行為效果。運(yùn)行模式上 MultiRow 控件的屬性為默認(rèn)設(shè)定。
在此模式下,Cell 編輯的值會一直保存到文檔窗口被關(guān)閉。
注意:在集成的運(yùn)行模式下,由于VisualStudio環(huán)境的限制,所以可能有極少數(shù)的功能被禁用了而不起作用。所以最終的表現(xiàn)要以運(yùn)行起來以后加載在Form上的MultiRow為準(zhǔn)。
打印預(yù)覽模式
當(dāng)前設(shè)定的模板在 GcMultiRow 中的打印預(yù)覽效果。此時 MultiRow 控件的屬性為默認(rèn)設(shè)定。
你可以通過內(nèi)嵌的工具欄來配置打印:


工具欄
MultiRow模板設(shè)計器提供了一個專用的工具欄,工具欄上集成了很多很常用的功能,比如設(shè)置字體、文字對齊方式,設(shè)置Cell的顯示信息,打開工具窗口等。
右鍵點(diǎn)擊工具欄的任何區(qū)域,并在彈出的菜單中將"MultiRow 6..0 模板設(shè)計器"勾選上,就可以看到該工具欄了。

模板管理器
當(dāng)模板中Cell比較多的時候,你往往會眼花繚亂,這時"模板管理器"就特別有用。通過它,你可以一覽當(dāng)前模板中的所有元素(Template\Section\Cell)以及它們之間的關(guān)系。有關(guān)模板管理器的具體用法將在未來的文章中討論。

屬性管理器
另一個更加特別有用的窗口是"屬性管理器"。如果你用過Form設(shè)計器,你一定遇到過這樣一種場景:我只需要查看/修改某個Control的某個屬性,卻需要我在一大堆Control中找到并選擇這個Control,然后打開"屬性"窗口,再在一大堆屬性中找到我關(guān)心的屬性,最后才是查看/修改這個屬性值,是不是很麻煩 %>_<% 呢?
MultiRow提供了"屬性管理器"幫助你管理當(dāng)前模板中所有Cell的常用屬性。有關(guān)"屬性管理器"的具體用法將在未來的文章中討論。

NamedCellStyle 管理器
MultiRow模板設(shè)計器提供的最后一個工具窗口叫"NamedCellStyle 管理器"(即命名樣式管理器),"NamedCellStyle "管理器是管理模板中所有 NamedCellStyle 的窗口。使用此窗口,只需單擊 1 次窗口中列出的 NamedCellStyle,便可將此 Style 應(yīng)用于已選的 Cell。可在此窗口中添加、刪除和更改 NamedCellStyle。此窗口與 Visual Studio 2008 中創(chuàng)建 ASP.NET Web 應(yīng)用程序時所使用的"應(yīng)用 Style"窗口相似。
你可以把它與"工具箱"、"數(shù)據(jù)源"窗口一起停靠在VisualStudio的左上角:

菜單
除了工具欄和工具窗口外,MultiRow模板設(shè)計器還在VisualStudio中集成了一個菜單,通過該菜單,你可以完成一些基本的操作。比如通過導(dǎo)入/導(dǎo)出布局,你可以把當(dāng)前的模板保存為xml文件,然后在其他模板設(shè)計器中或者通過代碼導(dǎo)入,以方便模板的共享。

Table
MultiRow最大的特點(diǎn)是自由布局,所以對MultiRow的模板設(shè)計器的操作就像Form設(shè)計器一樣是以Cell為單位的。但很多時候,你需要的模板中間有很大一片區(qū)域就是一個方方正正的標(biāo)準(zhǔn)表格,如果要一個一個Cell的拼出這樣一個表格的話,是不是太麻煩了?沒關(guān)系,MultiRow的模板設(shè)計器早就考慮到了你的這種用例,并提供了一攬子解決方案,這就是"Table"。詳情將在未來的文章中討論。

設(shè)計樣圖
當(dāng)你的客戶/老板給你一張紙或者一個軟件的截圖,讓你精確的照著紙/圖片設(shè)計一個模板的時候,你是不是很痛苦?需要不停的對比圖片和模板,然后微調(diào)Cell和Section。其實(shí)MultiRow模板設(shè)計器已經(jīng)提供了設(shè)計樣圖的能力:
在MultiRow模板設(shè)計器中點(diǎn)擊模板的灰色區(qū)域或者標(biāo)尺的左上角選擇模板,然后在"屬性"窗口中找到TracingImage這個屬性,把你的圖片(如果是紙上的你需要先把它掃描到電腦上并用其它圖像處理軟件做些預(yù)處理,比如把圖片旋轉(zhuǎn)正)設(shè)給它,導(dǎo)入的圖片就會出現(xiàn)在模板的背景中,你只需要根據(jù)背景上的圖片調(diào)整/擺放Section/Cell即可:

當(dāng)然,Template上還有幾個其它屬性來控制設(shè)計樣圖。比如默認(rèn)情況下你可以單擊Section的空白區(qū)域拖拽樣圖,但是把TracingImageLocked設(shè)成True后,設(shè)計樣圖就拽不動了。
一些很酷的細(xì)節(jié)
一個產(chǎn)品,最重要的是細(xì)節(jié)。MultiRow是一款精心打磨的產(chǎn)品,對細(xì)節(jié)的追求達(dá)到了極致,MultiRow 模板設(shè)計器的每一個功能,沒一個按鈕,甚至每一條線,每一個像素都經(jīng)過嚴(yán)格的測試。
現(xiàn)在就讓我們來看看MultiRow模板設(shè)計器的幾個細(xì)節(jié):
1、 豐富的對話框:每一個對話框都經(jīng)過精心設(shè)計,布局嚴(yán)謹(jǐn)大方;每一個對話框都可以實(shí)現(xiàn)全鍵盤操作,對話框上每一個可操作的Control都有快捷鍵,它們的"Tab"鍵順序也經(jīng)過精心設(shè)計;每一個對話框都有幫助按鈕,你可以點(diǎn)擊該按鈕或者使用"F1"鍵直接導(dǎo)航到幫助文檔的相關(guān)內(nèi)容。
2、 你在設(shè)計器中的幾乎所有對模板有影響的操作都能夠撤銷/重做(Undo/Redo),特別是通過"屬性"窗口對Style的子屬性進(jìn)行的修改也可以撤銷/重做。而在Form設(shè)計器中修改復(fù)雜類型屬性的子屬性是不能撤銷/重做的。
3、 設(shè)計器的皮膚會根據(jù)操作系統(tǒng)的不同而自動適應(yīng):




4、 標(biāo)尺上的小花招:
你注意到標(biāo)尺的左上角又一個小方塊了嗎?當(dāng)選中的是模板對象本身時,你注意到這個小方塊的變化了嗎?當(dāng)然,你也可以直接點(diǎn)擊這個小方塊而選中模板。

你又有沒有注意到鼠標(biāo)移動到標(biāo)尺上時,光標(biāo)發(fā)生了變化?試試按下鼠標(biāo)拖拽看看,放手后拖拽區(qū)域的所有Cell是不是都被選中了?這在Cell特別密集,Section上沒有太多空白空間而又想片選Cell的時候特別有用。
拖拽Cell的時候,標(biāo)尺上的陰影你總該注意到了吧?有趣的是:標(biāo)尺上的陰影會根據(jù)你拖拽Cell的多少而呈現(xiàn)出不同的濃度:

標(biāo)尺的單位也是可以改變的,你可以功過上文提到的"設(shè)置"對話框中的RulerUnit屬性進(jìn)行設(shè)置,可供選擇的單位有:英寸、厘米和像素(默認(rèn))。
5、 調(diào)皮的表頭:

Table的行頭怎么跑到右邊去了?這是因為標(biāo)尺在模板的設(shè)計區(qū)域之外,如果把行頭放在左邊,則會被標(biāo)尺壓住而無法顯示,導(dǎo)致你無法對Table中的行進(jìn)行操作,所以當(dāng)Table的左邊放不下行頭時,我們把它挪到了右邊。而Table角上顯示的鎖表示當(dāng)前Table被鎖定了,無法調(diào)整行/列的大小。
設(shè)計器語言
實(shí)際上,你下載的MultiRow中文版產(chǎn)品默認(rèn)已經(jīng)支持2種語言:中文和英文。MultiRow模板設(shè)計器使用的語言會根據(jù)你使用的VisualStudio的語言不同而自動選擇,在中文VisualStudio中使用中文,而在英文VisualStudio中使用英文,跟操作系統(tǒng)的語言無關(guān)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載