共用方式為


逐步解說:撰寫裝置的使用者控制項

更新:2007 年 11 月

在本逐步解說中,您要建立控制項程式庫,並撰寫使用者控制項,放置到程式庫中。區分使用者控制項 (Windows Form 控制項的組合,為單一的可重複使用單位) 和自訂控制項 (需要標準控制項無法提供的 UI 或功能的控制項)。

本逐步解說中的使用者控制項是適用於裝置的簡單時鐘顯示,並依類似的桌上型電腦逐步解說予以模式化 (例如逐步解說:使用 Visual Basic 撰寫複合控制項逐步解說:使用 Visual C# 撰寫複合控制項)。

此逐步解說包含四項主要的工作:

  • 建立一個控制項程式庫和一個控制項

  • 重新命名程式庫和控制項

  • 將元件加入至控制項

  • 在裝置模擬器上測試控制項

在本逐步解說中,您可以使用 Visual Basic 或 Visual C#。這兩種語言都使用相同的檔案名稱,但使用的副檔名則是語言專用的,會有一個垂直列提醒您選擇所使用之語言的副檔名,例如 filename.vb|cs。

注意事項:

您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定

此逐步解說是使用 [Visual Basic 開發設定] 和 [Visual C# 開發設定] 撰寫。

必要條件

選擇目標裝置

若要確保系統會在您部置方案時出現裝置選擇提示,請完成下列程序。

若要在部署時出現裝置選擇提示

  1. 按一下 [工具] 功能表上的 [選項],展開 [裝置工具],然後按一下 [一般]

    如果您看不到 [裝置工具],請選取 [選項] 對話方塊底部的 [顯示所有設定]。

  2. 選取 [部署裝置專案前顯示裝置選擇] 核取方塊。

建立專案

您為新專案命名的名稱也同時設定了根命名空間和組件的名稱。

若要建立控制項程式庫和控制項

  1. (Visual Basic) 在 [檔案] 功能表上,按一下 [新增專案]。

    -或-

    (Visual C#) 在 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。

  2. 在 [新增專案] 對話方塊的 [專案類型] 窗格中,展開 [Visual Basic] 或 [Visual C#],然後按一下 [智慧型裝置]。

    如果您想要使用的程式語言沒有優先顯示,請展開 [其他語言]。此顯示是由開發設定控制。

  3. 在 [範本] 窗格中,按一下 [智慧型裝置專案]。

  4. 在 [名稱] 方塊中,輸入 ctlDevClockLib,然後按一下 [確定]。

  5. (僅限 Visual C#) 在 [位置] 方塊中,確認想要儲存專案檔案的位置,然後按一下 [確定]。

  6. 在 [目標平台] 下拉式清單中,選取 [Pocket PC 2003]。

  7. 從 [.NET Compact Framework 版本] 下拉式清單選取 [.NET Compact Framework 2.0 版]。

  8. 按一下 [範本] 窗格中的 [控制項程式庫],然後按一下 [確定]。

    [元件設計工具] 隨即出現。

您已經指定了專案名稱、根命名空間和組件名稱 (ctlDevClockLib),不過,專案內的元件所使用的預設名稱是由 Visual Studio 所指派 (例如,UserControl1)。一般而言,您需要將這些名稱改成比較具有意義的名稱。

若要重新命名程式庫和控制項

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [UserControl1.vb|cs],然後按一下 [屬性]。

  2. 將 [檔名] 改成 [ctlDevClock.vb|cs]。

  3. (僅適用於 Visual C#) 在詢問您是否要重新命名此程式碼項目的所有參考之訊息方塊中,按一下 [是]。

    在 [屬性] 視窗中的名稱變更現在會散佈到其他參考中 (例如,類別名稱和建構函式)。

接下來,您要加入 [工具箱] 中的元件,替使用者控制項提供功能和使用者互動。在本逐步解說中,您要加入 [計時器] 控制項以存取系統時間,以及加入 [標籤] 控制項以顯示時間。

若要加入元件及變更它們的屬性

  1. 在 [工具箱] 中,按兩下 [標籤]。

    標籤控制項就會加入至 [元件設計工具] 中的使用者控制項。

  2. 在標籤控制項的 [屬性] 視窗中,進行下列工作:

屬性

變更為

Name

lblDisplay

Text

(空白)

TextAlign

TopCenter

Font.Size

14

  1. 在 [工具箱] 中,按兩下 [計時器]。

    計時器控制項隨即出現在元件匣中。

  2. 在計時器控制項的 [屬性] 視窗中,進行下列工作:

屬性

變更為

Interval

1000

Enabled

True

在接下來的步驟中,您會在 [標籤] 控制項中加入事件處理常式,以顯示時脈週期。

若要加入事件處理常式

  1. 在元件匣中,按兩下 [Timer1] (Visual Basic) 或 [timer1] (C#),在時脈週期事件上開啟程式碼編輯器。

  2. (Visual Basic) 插入下列事件處理程式碼:

    lblDisplay.Text = Format(Now, "hh:mm:ss")
    

    -或-

    (Visual C#)

    lblDisplay.Text = DateTime.Now.ToLongTimeString();
    
  3. (Visual Basic) 將存取修飾詞從 Private 改成 Protected,並加入 Overridable 關鍵字,讓處理常式程式碼像下面這樣:

    Protected Overridable Sub Timer1_Tick(ByVal sender As Object, _
       ByVal e As System.EventArgs) Handles Timer1.Tick
       ' Causes the label to display the current time  
       lblDisplay.Text = Format(Now, "hh:mm:ss")
    End Sub
    

    -或-

    (Visual C#) 將存取修飾詞從 private 改成 protected,並加入 virtual 關鍵字,讓處理常式程式碼像下面這樣:

    protected virtual void timer1_Tick(object sender, System.EventArgs
       e)
    {
       // Causes the label to display the current time.
       lblDisplay.Text = DateTime.Now.ToLongTimeString(); 
    }
    
  4. 在 [檔案] 功能表上,按一下 [全部儲存]。

  5. (僅限 Visual Basic) 在 [儲存專案] 對話方塊中,在您選擇的位置中另存專案為 ctlDevClockLib。

測試控制項

這個簡單的裝置應用程式是做為控制項測試容器。

若要建置控制項及建立測試容器

  1. 在 [建置] 功能表上,按一下 [建置] (或 [建置 ctlDevClockLib])。

  2. 在 [檔案] 功能表上指向 [加入],然後按一下 [新增專案]。

  3. 在 [加入新的專案] 對話方塊中,按一下 [專案類型] 窗格中的 [智慧型裝置],然後按一下 [範本] 窗格中的 [智慧型裝置專案]。

  4. 在 [名稱] 方塊中,輸入 Test,再按一下 [確定]。

  5. 在 [加入新智慧型裝置專案] 對話方塊中,從 [目標平台] 下拉式清單選取 [Pocket PC 2003],並從[.NET Compact Framework] 下拉式清單選取 [.NET Compact Framework 2.0 版],按一下 [範本] 窗格中的 [裝置應用程式],然後按一下 [確定]。

  6. 在 [方案總管] 中,在 [Test] 專案上按一下滑鼠右鍵,並按一下 [設定為啟始專案]。

  7. 以滑鼠右鍵按一下 [Test] 專案,然後按一下 [加入參考]。

  8. 在 [加入參考] 對話方塊中,按一下 [專案] 索引標籤,然後按兩下 [ctlDevClockLib]。

  9. 在 [工具箱] 中,找出 [ctlDevClockLib 元件] 索引標籤,然後按兩下 [ctlDevClock] 元件。

    此控制項就會載入至設計工具中。

  10. 在 [偵錯] 功能表上,按一下 [啟動] 或 [開始偵錯]。

  11. 在 [部署] 對話方塊中,選取 [Pocket PC 2003 SE 模擬器],然後按一下 [部署]。

請參閱

概念

控制項類型建議

其他資源

在設計階段開發 Windows Form 控制項