Office 文件上的 Windows Form 控制項概觀
Windows Form 控制項是一種物件,使用者能與其互動,以輸入和管理資料。 在 Microsoft Office Excel 和 Microsoft Office Word 的文件層級專案中,您可以在設計階段,將 Windows Form 控制項加入至專案中的文件或活頁簿,或是在執行階段,以程式設計方式加入這些控制項。 在 Excel 或 Word 的應用程式層級增益集中,您可以透過程式設計方式,在執行階段將這些控制項加入至任何開啟的文件或工作表。
如需詳細資訊,請參閱 HOW TO:將 Windows Form 控制項加入至 Office 文件。
**適用於:**本主題中的資訊適用於下列應用程式的文件層級專案和應用程式層級專案:Excel 2007 和 Excel 2010、Word 2007 和 Word 2010。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
使用 Windows Form 控制項
您可以將 Windows Form 控制項加入至文件和可自訂的使用者介面 (UI) 項目,包括執行窗格、自訂工作窗格和 Windows Form。 Windows Form 控制項在文件上的行為,通常與它在這些其他 UI 項目上的行為相同,但仍存在一些差異。 如需詳細資訊,請參閱 Office 文件上的 Windows Form 控制項限制。
將 Windows Form 控制項加入至文件還是某個其他 UI 項目,必須考慮幾項因素。 設計方案的 UI 時,請依照下表所述情況,考慮 Windows Form 控制項的用法。
在文件上:
您要控制項一直保持在顯示狀態時。
您要讓使用者直接在文件 (例如,在編輯介面已鎖定的表單架構文件) 中輸入資料時。
您要讓控制項與文件中的資料排列顯示時。 例如,如果將按鈕加入至清單物件的每個資料列,則您可能想要它們與每個清單項目排列。
在執行窗格或自訂工作窗格上:
您要為使用者提供內容資訊時。
您只要在文件中顯示結果,而不顯示查詢控制項和資料時。
您要確保控制項不會與文件一起列印時。
您要確保控制項不會妨礙文件檢視時。
在 Windows Form 上:
您要控制 UI 的大小時。
您要防止使用者隱藏或刪除控制項時。
您要取得使用者的輸入,並且要讓使用者除非進行輸入否則不能在文件中做任何動作時。
以程式設計的方式加入 Windows Form 控制項
您可以在執行階段將 Windows Form 控制項加入至 Word 文件和 Excel 工作表。 Visual Studio Tools for Office Runtime 提供 Helper 方法,可用來加入最常用的 Windows Form 控制項。 這些 Helper 方法可讓您將控制項快速加入 Office 文件,並存取這些控制項組合的 Windows Form 控制項功能和 Office 相關功能。
如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件。
在文件層級專案中使用 Windows Form 控制項
在文件上使用 Windows Form 控制項時的一些內容屬於文件層級專案的專屬內容,而這些專屬內容可讓您使用 Visual Studio 設計工具來設計文件的 UI。
建立自訂使用者控制項
您可以將使用者控制項加入至專案,然後將其加入至 [工具箱]。 然後,您可將使用者控制項直接拖曳至文件,方式與將 Windows Form 控制項加入文件相同。 建立使用者控制項時,要注意下列幾件事:
不要建立 sealed 使用者控制項。 當您將控制項拖曳至文件時,Visual Studio 會從使用者控制項產生包裝函式類別來擴充該控制項,並支援在文件上使用該控制項。 如果使用者控制項為 sealed,則 Visual Studio 無法產生包裝函式類別。
使用者控制項的 ComVisibleAttribute 屬性必須設為 true。 在 Office 專案中建立的使用者控制項預設會將這個屬性設定為 true,但屬於外部專案的使用者控制項則未必會將這個屬性設為 true。
將使用者控制項加入至文件之後,不要重新命名或刪除專案中的 UserControl 類別。 如果需要變更使用者控制項的名稱,則必須先從文件中予以刪除,然後在變更名稱後再將它重新加入。
在設計階段排列控制項
如果在設計階段將多個控制項加入至 Word 和 Excel 文件,您可以使用 Visual Studio 中的 [Microsoft Office Word] 和 [Microsoft Office Excel] 工具列,快速設定所有選取之控制項的對齊方式。 這些工具列只有在文件或工作表已於設計工具中開啟時,才能使用。
在設計工具中選取多個控制項時,您可以使用這些工具列中的下列按鈕來排列控制項:
對齊主控項的左緣
對齊主控項的水平中央
對齊主控項的右緣
對齊主控項的上緣
對齊主控項的垂直中間
對齊主控項的下緣
將水平間距設成相等
將垂直間距設為相等
注意事項 |
---|
在 Word 專案中,這些按鈕只有在選取的控制項未依文字排列時才會啟用。 根據預設,在設計階段加入至文件的控制項將會依文字排列。 如需詳細資訊,請參閱在 Word 文件中使用 Windows Form 控制項。 |
防止舊資料於載入時出現於 Excel 活頁簿
如果您在設計階段將 Windows Form 控制項加入至文件或工作表,當使用者關閉文件時,控制項仍會保留在文件中。 在設計階段加入的控制項也稱為「靜態控制項」(Static Control)。
開啟包含靜態控制項的 Excel 活頁簿後,在自訂程式碼執行並載入實際的控制項之前,活頁簿會在 ActiveX 控制項中顯示該控制項的點陣圖。 Excel 會在儲存活頁簿時建立這個點陣圖,並將它儲存在活頁簿中。 這個點陣圖會顯示上次儲存活頁簿時所顯示的控制項,包括控制項所顯示的任何資料。 如需含有 Windows Form 控制項和點陣圖之 ActiveX 控制項的詳細資訊,請參閱 Office 文件上的 Windows Form 控制項限制。
在某些情況下,例如當使用者在設計模式下開啟活頁簿時,程式碼不會載入而只會顯示點陣圖。 此外,如果使用者在沒有安裝 Visual Studio Tools for Office Runtime 的電腦上開啟活頁簿,自訂就無法執行並載入控制項,因此只會顯示控制項的點陣圖。 您應該永遠先將活頁簿之控制項中的個人資訊移除,然後再儲存活頁簿並傳送給另一位使用者,以確保您不會在無意間洩露自己的個人資訊。
在設計階段加入元件
特定控制項或元件無法在文件上顯示,而是在元件匣中顯示。 Visual Studio 會為每一個文件視窗提供元件匣。 只有當文件上存在元件時,螢幕上才會顯示元件匣。
請參閱
工作
HOW TO:將 Windows Form 控制項加入至 Office 文件
參考
概念
在 Excel 工作表中使用 Windows Form 控制項
Office 文件上的 Windows Form 控制項限制