使用 PenInputPanel 類別設計輸入面板
[PenInputPanel 已由 Microsoft.Ink.TextInput取代。 請參閱 文字輸入面板的程式設計。]
使用 PenInputPanel 物件來程式設計系統層級平板電腦輸入面板的描述。
輸入面板與 PenInputPanel 物件
在 Microsoft Windows XP Tablet PC Edition 1.0 版中,系統層級的平板電腦輸入面板提供通用機制,可跨 Windows 平臺完成文字輸入,但不提供程式設計存取。 在 Windows XP Tablet PC Edition Software Development Kit (SDK) 1.5 版和更新版本中, PenInputPanel 物件可讓您將文字輸入工具直接整合到應用程式中,並提供先前無法使用的控制層級。 從 Windows XP Tablet PC Edition 2005 開始,系統層級的輸入面板已升級為包含 PenInputPanel 物件所提供的就地輸入功能等等。
下圖顯示 自動宣告表單範例範例 上顯示的輸入面板。
輸入面板會藉由提供相同的就地輸入功能給在 Windows XP Tablet PC Edition 2005 或更新版本上執行的任何應用程式,而不需要額外的程式碼,來取代 PenInputPanel 。 本文提供 使用 PenInputPanel 物件的回溯相容性。 已經使用 PenInputPanel 物件的應用程式會運作相同,不同之處在于當應用程式在 Windows XP Tablet PC Edition 2005 或更新版本上執行時,會顯示輸入面板,而不是 PenInputPanel 。
如果您要為平板電腦開發新的應用程式,而且想要有就地使用者輸入解決方案,輸入面板會自動在 Windows XP Tablet PC Edition 2005 或更新版本上提供此功能。 不需要具現化 PenInputPanel 物件。
停用輸入面板
在某些情況下,您可能會想要停用輸入面板。 有兩種方法可達成這個目標。 您可以透過程式設計方式完成此作業,或設定停用整個應用程式的輸入面板的登錄專案。
以程式設計方式停用輸入面板
若要以程式設計方式停用輸入面板,請將 PenInputPanel 具現化,並將其 AutoShow 屬性設定為 False。
using Microsoft.Ink;
// ...
private PenInputPanel theInputPanel;
// ...
private void Form1_Load(object sender, System.EventArgs e)
{
// Attach the Input Panel to a specific TextBox control.
theInputPanel = new PenInputPanel(textBox1);
// Disable the Input Panel for the TextBox.
theInputPanel.AutoShow = false;
}
若要停用單一應用程式中多個控制項的輸入面板,請將每個控制項的 PenInputPanel 物件具現化,並將每個控制項的 AutoShow屬性設定為 False ,或將單一 PenInputPanel 具現化,並將它從控制項移至控制項做為輸入焦點變更。 如需這兩種技術的詳細資訊,請參閱 PenInputPanel 範例 主題。
透過登錄停用輸入面板
您可以設定登錄專案,以停用整個應用程式的輸入面板。 不過,這也會停用一般對話方塊,例如 [ 檔案開啟 ] 對話方塊、[ 列印 ] 對話方塊和 [ 檔案儲存 ] 對話方塊。 這可能會讓應用程式中的使用者體驗與其他平板電腦應用程式不一致。
將登錄 DisableInPlace
機碼設定為零可防止輸入面板使用者介面 (UI) 出現在應用程式中。 您必須將登錄 DisableInPlace
機碼 HKEY_LOCAL_MACHINE\Software\Microsoft\TabletTip\
放在 。 然後,使用您要停用輸入面板之應用程式的完整路徑來新增登錄值。 下列範例登錄專案會在名為 MyApp 的應用程式中停用輸入面板:
[HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\WindowsNT\TabletTIP\DisableInPlace]``"C:\Program Files\My App\MyApp.exe"=dword:00000000
如果您在停用輸入面板 UI 之後仍會在應用程式中看到問題,您可能需要停用基礎架構,以查詢您的應用程式中的插入號位置。 例如,輸入面板可能會公開應用程式插入號追蹤程式碼中的 Bug。 關閉插入號追蹤查詢也會防止輸入面板 UI 出現。 若要停用架構,請將 EnableCaretTracking
登錄機碼設定為零。 在 找到此機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\CaretTracking\
。
注意
Windows XP 中的協助工具工具和語音技術也會使用此架構,因此停用查詢也會停用應用程式中的這些功能。
輸入面板和網頁
若要在網頁上使用 API,它必須在部分信任環境中運作。 除了下列專案外,所有 PenInputPanel 類別成員都需要完全信任:
- PenInputPanel 建構函式 只會 (Managed 程式碼)
- Dispose 方法 (Managed 程式碼僅)
- AttachedEditControl 屬性 (Managed 程式碼)
- AutoShow 屬性
這些 API 可在部分信任環境中運作,例如網頁、讓您具現化 PenInputPanel 物件、將它附加至控制項,以及停用該控制項的輸入面板。 如需詳細資訊,請參閱在網路上使用 PenInputPanel 類別和 Ink進行輸入面板的程式設計。
PenInputPanel 物件
本主題的其餘部分說明如何在已啟用平板電腦的應用程式中使用 PenInputPanel 物件。 更具體來說,本主題是指討論程式設計物件時的 PenInputPanel 物件、參照 UI 元素時的畫筆輸入面板,以及參考平板電腦畫面側邊通常找到的全域輸入面板時,電腦輸入面板 (或輸入面板) 。
下列各節說明 PenInputPanel 物件和 UI。