VSTO 系列(06) 自定義任務窗格

2021-10-22 21:46:45 字數 1836 閱讀 6246

任務窗格 (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...