共用方式為


操作方法:使用表單視窗

以程式設計方式使用 InfoPath 表單時,您可以撰寫程式碼以存取表單的視窗,然後自訂視窗所包含的某些項目。Microsoft.Office.InfoPath 命名空間所提供的 InfoPath 物件模型可支援透過使用 Window 類別搭配 WindowCollection 類別來存取表單的視窗。

InfoPath 中有兩種視窗類型:

  • 使用者填寫表單時所使用的編輯視窗。

  • 使用者設計表單範本時所使用的設計視窗。

在表單範本中撰寫程式碼時,編輯視窗會提供最有用的功能,因為您可以使用表示目前視窗的 Window 物件來存取可用於自訂表單編輯經驗的各種屬性及方法。

WindowsCollection 類別的概觀

WindowsCollection 類別提供下列屬性,讓表單範本開發人員可用來管理此類別所包含的 Window 物件。

名稱 描述

Count 屬性

會取得集合中所包含的 Window 物件計數。

Item 屬性

會取得指定 Window 物件的參照。

Window 類別的概觀

Window 類別提供下列方法與屬性,可讓表單開發人員用來與 InfoPath 視窗互動。這些方法和屬性的支援會因您所使用的視窗類型 (WindowType) 而有所不同。有些方法和屬性只能搭配編輯器視窗類型 (WindowType.Editor) 使用;其餘的方法與屬性則可搭配編輯器視窗類型與設計工具視窗類型 (WindowType.Designer) 使用。此外,與 InfoPath 物件模型成員相同,從表單範本呼叫時,方法與屬性的支援會因安全性層級以及表單的部署方式而異。

名稱 描述 視窗類型支援

Activate 方法

會啟動 (提供焦點給) 視窗。

DesignerEditor 類型

Active 屬性

會取得 Boolean 值,指出視窗是否為目前使用中的視窗。

DesignerEditor 類型

Caption 屬性

會取得或設定 Window 物件表示之視窗的標題文字。

Editor 類型

Close 方法

會關閉提示儲存對未儲存表單所做變更的視窗,或含有尚未儲存之變更的表單。

Editor 類型

Close 方法

會關閉視窗,並選擇性地強制關閉未儲存的表單或包含未儲存之變更的表單,並且不加以儲存。

Editor 類型

CommandBars 屬性

會取得與此視窗關聯之 Microsoft Office CommandBars 集合的參考。

DesignerEditor 類型

Height 屬性

會取得或設定視窗的高度 (以點為單位)。

DesignerEditor 類型

Left 屬性

會取得或設定視窗的水平位置 (以點為單位)。

DesignerEditor 類型

MailEnvelope 屬性

會取得 MailEnvelope 類別的參考。

Editor 類型

TaskPanes 屬性

會取得 TaskPaneCollection 集合的參考。

DesignerEditor 類型

Top 屬性

會取得或設定視窗的垂直位置 (以點為單位)。

DesignerEditor 類型

Width 屬性

會取得或設定視窗的寬度 (以點為單位)。

DesignerEditor 類型

WindowState 屬性

會取得或設定視窗的狀態,以 WindowState 值表示。

DesignerEditor 類型

WindowType 屬性

會取得視窗的類型,以 WindowType 列舉值表示。

DesignerEditor 類型

XmlForm 屬性

會傳回與視窗關聯之 XmlForm 物件的參考。

Editor 類型

使用 WindowsCollection 與 Window 類別

WindowsCollection 類別可以透過 Application 類別的 Windows 屬性來存取。使用 WindowsCollection 類別來存取表單的視窗時,您可以使用索引子 (Visual C#) 或是傳遞長整數至 Item 屬性 (Visual Basic),以便傳回 Window 物件執行個體的參照。例如,下列程式碼會設定目前 InfoPath 工作階段之第一個 Window 物件 (包含在 WindowsCollection 中) 的參照。

Window myWindow = this.Application.Windows[0];
Dim myWindow As Window = Me.Application.Windows(0)

您可以使用 Application 類別的 ActiveWindow 屬性直接存取目前開啟的視窗,而不必經由 WindowsCollection 來存取,如下列程式碼行所示。

Window myWindow = this.Application.ActiveWindow;
Dim myWindow As Window = Me.Application.ActiveWindow

Window 物件也可以使用 View 類別的 Window 屬性來存取,此屬性代表目前用來配合表單基礎 XML 文件使用的檢視。XmlForm 類別的 CurrentView 屬性是用來存取代表目前檢視的 View 物件。例如,下列程式碼會設定與目前檢視相關聯的 Window 參考。

Window myWindow = this.CurrentView.Window;
Dim myWindow As Window = Me.CurrentView.Window

注意

Window 類別的某些屬性及方法僅適用於編輯視窗類型;如果與設計視窗類型搭配使用,這些屬性和方法就會傳回錯誤。每個視窗類型支援的屬性與方法列於本主題先前的表格中。您可以在程式碼中使用 WindowType 屬性,以便判斷要使用的視窗類型。