模板管理器
當模板中Cell比較多的時候,你往往會眼花繚亂,這時“模板管理器”就特別有用。請點擊該工具欄中的第一個按鈕,就能打開“模板管理器”工具窗口了(通過點擊VisualStudio菜單的“視圖”-->“其它窗口”-->“模板管理器 6.0”也能打開,“屬性管理器”及“NamedCellStyle 管理器”類似):
這是一個標準的VisualStudio工具窗口,所以你可以把它放到任意地方,比如與“解決方案資源管理器”窗口一起停靠在VisualStudio的右邊,“屬性”窗口的上面。
“模板管理器”類似于VisualStudio的“文檔大綱(Document Outline)”窗口,它有4大主要功能:
1、 通過這個窗口,你可以一覽當前模板中的所有元素(Template/Section/Cell)以及它們之間的關系。窗口中所有元素都按照它們的父子關系及索引順序排列。
2、 通過它選擇某個元素,并通過右鍵菜單做剪切/刪除/重命名等操作。
3、 通過點擊窗口中工具欄上的向上箭頭和向下箭頭改變Cell的索引。當然,你更可以直接拖拽Cell到你想要的索引位置、甚至是其它Section中。
4、 點擊工具欄上最右邊的“設置”按鈕來配置MultiRow模板設計器(通過點擊VisualStudio菜單的“工具”-->“選項”打開“選項”對話框并在左邊選擇“MultiRow 6..0 模板設計器”也可以)。
這里提供了MultiRow 模板設計器的部分外觀以及操作方式的設置。比如你可以設置Cell的對齊方式為Grid,這時Section的背景會顯示一些對齊用的點,而當你拖拽元素的時候,元素會吸附到點上而不是其它元素上。
Table
MultiRow最大的特點是自由布局,所以MultiRow的模板設計器的操作就像Form設計器一樣是以Cell為單位的。但很多時候,你需要的模板中間有很大一片區域就是一個方方正正的標準表格,如果要一個一個Cell的拼出這樣一個表格的話,是不是太麻煩了?沒關系,MultiRow的模板設計器早就考慮到了你的這種用例,并提供了一攬子解決方案,這就是“Table”。
創建Table
現在請新建一個空白模板,并打開“工具箱”中的“設計時組件 6.0”選項卡,選擇“Table”:
然后在Row上按下鼠標左鍵,拉出一片區域再放手,看看發生了什么?
理解Table
Table是只有在設計時才存在的概念,在運行時實際上就是一堆離散的Cell,而Table只是把這些Cell作為一個整體來管理而已;此時,Table有行和列的概念,Table中的Cell必需與Table的行/列對齊。
Table模式
當你點擊Table里面時,Table將進入另外一種編輯模式——Table模式:
在這種模式下,Table好像就像和外面的世界分離了,你對Table內部的操作都將把Table視為上下文環境。比如按’Tab’鍵只會在Table內部循環,按’Ctrl’ + ‘A’只會選中Table中的所有Cell。
而一旦進入Table模式, Table就會顯示虛擬的行頭和列頭,你可以像操作Excel一樣選擇一個或多個行/列,調整它們的高度/寬度,或在“屬性”窗口中設置它們的寬度/高度;當然,你也可以使用右鍵菜單做更復雜的操作,比如插入一列:
你注意到右鍵菜單上有“合并”、“拆分”菜單項了嗎?沒錯,Table完全能夠像Excel那樣合并/拆分單元格:
Table中的Cell默認都是TextBoxCell,如果你需要其它類型的Cell,你可以使用右鍵菜單把你選擇的Cell置換成其它類型(同樣,你也可以在置換Table外面的Cell)。新的Cell僅僅保留基類Cell的屬性值,而舊Cell上特有屬性的值將被丟棄。
例如:將一個TextBoxCell的MaxLength屬性和ReadOnly屬性都設了值,而后置換為ComboBoxCell,盡管ComboBoxCell也有MaxLength屬性,但是由于MaxLength屬性不是定義在基類Cell上的,所以ComboBoxCell的MaxLength將保留默認值,但是ReadOnly屬性會和舊的TextBoxCell保持一致。
Table中的Cell也可以刪除,被刪除的區域將以灰白相間的格子圖案來表示,被刪除的區域可以選擇,選擇后可以使用“置換”操作重新放上Cell。
使用Table一個最為重要的便利就是設置外圈邊框:按’Control’+’A’ 選擇Table中所有Cell,或者選擇一個矩形區域的Cell,然后點擊右鍵菜單中的“邊框”菜單項,這時就會彈出“邊框”編輯器,邊框類型選擇“圓角邊框”或者普通邊框,注意比較和其它地方彈出的“邊框”編輯器有什么不同?
沒錯,這個編輯器多了“內部”的按鈕,由于對于MultiRow來說,每一個Cell都是一個獨立的單元,所以Cell只有外邊框,沒有內邊框;即使你在Table外面把Cell緊靠在一起擺成一個表格再設邊框,彈出的邊框編輯器也是沒有“內部”按鈕的。
照上圖的樣式設置好邊框,點擊Table外面的區域,看看邊框的樣子(這里順帶說一句,MultiRow中邊框的每一條邊的顏色、線型、角度都是可以單獨設置的):
Cell模式
當點擊Table外面的區域或者Cell退出Table模式后,Table進入Cell模式。
此時,設計器將Table看做一個整體的元素,你可以理解為把Table中的所有Cell組成了一個進行處理。對Table的操作會影響Table中所有的Cell。你可以像單個Cell那樣對它進行剪切/復制/粘帖/調整大小等操作。
對Table調整大小將使Table進行等比例縮放,但是由于Cell的大小是整形的,所以有可能導致原來大小相同的Cell縮放后大小出現偏差:
圖中第三行的Cell比第一行和第二行高1個像素點。
在Cell模式下,點擊Table的邊線周圍(大概5個Pixel,此時光標將變為四個方向都有箭頭的SizeAll)將選中整個Table。此時,拖拽將導致整個Table移動;而右鍵菜單將比其它Cell多了個“拆分成自由Cell”的菜單項,點擊它后,整個Table將被拆分成自由Cell:
注意:被拆分后的Cell不能再重新組合成Table,除非使用“撤銷”操作或者重新創建一個Table。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
