HOW TO:捲動標籤表單

更新:2007 年 11 月

由於 Label 控制項不接受焦點,而且不支援定位鍵,因此,只具有 Label 控制項的 Smartphone 應用程式,並不允許使用者巡覽至表單的可見用戶端區域以外。Pocket PC 應用程式的使用者可以點選捲軸以進行巡覽,但是 Smartphone 並未提供這項功能。

您可以在 KeyDown 事件的事件處理常式中提供調整 AutoScrollPosition 屬性的程式碼,以便實作巡覽。

捲動 Label 控制項表單

  1. 對表單加入幾個 Label 控制項,讓其中一些位於可見用戶端區域的下方。在 Microsoft Visual Studio 2005 設計工具中使用方向鍵,或是撰寫初始化程式碼以放置這些控制項。

  2. 在表單的建構函式中,將 KeyPreviewAutoScroll 屬性設定為 true。C# 使用者必須對 KeyDown 事件處理常式附加委派。

    Me.KeyPreview = True
    Me.AutoScroll = True
    
    this.KeyPreview = true;
    this.KeyDown += new KeyEventHandler(Form1_KeyDown);
    this.AutoScroll = true;
    
  3. 設定 AutoScrollPosition 屬性,使其在 y點座標,依照設定的像素數目水平移動。下列程式碼範例使用 16。請注意,由於 AutoScrollPosition 為負數值而位移 (Offset),所以程式碼相當複雜,不過提供的點值必須以正數來表示。

    Private Sub Form1_KeyDown(ByVal Sender As System.Object, _
        ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = System.Windows.Forms.Keys.Up Then
            Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y - 16)
        End If
        If e.KeyCode = System.Windows.Forms.Keys.Down Then
            Me.AutoScrollPosition = New Point(0, -Me.AutoScrollPosition.Y + 16)
        End If
    End Sub
    
    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.KeyCode == System.Windows.Forms.Keys.Up))
        {
            this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y - 16);
        }
        if ((e.KeyCode == System.Windows.Forms.Keys.Down))
        {
            this.AutoScrollPosition = new Point(0, -this.AutoScrollPosition.Y + 16);
        }
    

編譯程式碼

這個範例需要下列命名空間的參考:

請參閱

概念

.NET Compact Framework HOW TO 主題

其他資源

Smartphone 開發和 .NET Compact Framework