任務窗格 (task pane) 是 vsto 提供的主要介面之一,執行時任務窗格的介面看起來如下。本文假設我們要實現乙個方便自己進行拷貝和貼上的多重剪貼簿,實現將單元格中需要反覆使用的文字載入到 listbox,並且能夠拷貝到選中的單元格中。
任務窗格本質上是乙個 user control,在工程中新建乙個 user control:
將 user control 命名為 clipboardpro,設計介面如下:
在 clipboardpro 類**中,編寫四個按鈕單擊事件的**:
using microsoft.office.interop.excel;
using system;
using system.windows.forms;
using winform = system.windows.forms;
namespace vstodemo
private
void
btnadd_click
(object sender,
eventargs e)
}private
void
btncopy_click
(object sender,
eventargs e)}}
private
void
btnclearall_click
(object sender,
eventargs e)
private
void
btnclearcurrent_click
(object sender,
eventargs e)
}}
為了實現任務窗格的復用,建立乙個靜態類:
namespace vstodemo
}
在 thisaddin 的 thisaddin_startup 事件中載入:
private
void
thisaddin_startup
(object sender,
system.eventargs e)
預設情況下,task pane 位於介面的右側停靠,允許通過dockposition
屬性設定停靠在左右、上下或者浮動。dockpostionrestrict
屬性設定是否允許使用者改變停靠的位置。
在 ribbon1 中新建乙個 checkbox,介面如下:
編寫 cbshowtaskpanel_click 事件:
private
void
cbshowtaskpanel_click
(object sender,
ribboncontroleventargs e)
因為使用者也可以手工關閉任務窗格(其實是隱藏),為了保持介面同步,在 taskpane 的 visiblechange 事件中編寫如下**:
06-custom task pane - 碼雲
VSTO之旅系列 三 自定義Excel UI
本專題概要 引言 在上乙個專題中為大家介紹如何建立excel的解決方案,相信大家通過從上面乙個專題之後了解了excel的物件模型,以及office兩種解決方案的,看完上乙個專題之後,肯定很多朋友想為excel自定義屬於自己的ui介面,例如,有這樣的一些疑問 是否可以使用vsto來自定義選項卡呢?是否...
自定義單元格
自定義單元格有兩種方法 1 通重載入xib的方式 如果單元格的樣式都一樣的話,這種方法很便捷 注 這種方式只能用於單元格樣式一樣的情況 2 全部手寫 通重載入xib的方式自定義單元格 設定重用id cztableviewcell.h檔案 import class czgoods inte ce cz...
自定義任務擴充套件 ANT
使用ant自定義任務,可以非常簡便的擴充套件ant,其實與擴充套件jsp標籤的方法是類似的.1.新建乙個專案,並匯入ant的 jar包 2.寫乙個j a類,繼承org.apache.tools.ant.task類,並覆蓋execute方法 package com import j a.io.buff...