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