HOW TO:捲動標籤表單
更新:2007 年 11 月
由於 Label 控制項不接受焦點,而且不支援定位鍵,因此,只具有 Label 控制項的 Smartphone 應用程式,並不允許使用者巡覽至表單的可見用戶端區域以外。Pocket PC 應用程式的使用者可以點選捲軸以進行巡覽,但是 Smartphone 並未提供這項功能。
您可以在 KeyDown 事件的事件處理常式中提供調整 AutoScrollPosition 屬性的程式碼,以便實作巡覽。
捲動 Label 控制項表單
對表單加入幾個 Label 控制項,讓其中一些位於可見用戶端區域的下方。在 Microsoft Visual Studio 2005 設計工具中使用方向鍵,或是撰寫初始化程式碼以放置這些控制項。
在表單的建構函式中,將 KeyPreview 和 AutoScroll 屬性設定為 true。C# 使用者必須對 KeyDown 事件處理常式附加委派。
Me.KeyPreview = True Me.AutoScroll = True
this.KeyPreview = true; this.KeyDown += new KeyEventHandler(Form1_KeyDown); this.AutoScroll = true;
設定 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 主題