방법: 레이블 폼 스크롤

업데이트: 2007년 11월

Label 컨트롤은 포커스를 받지 않으며 탭 기능을 지원하지 않으므로 Label 컨트롤의 Smartphone 응용 프로그램을 사용해서는 폼의 보이지 않는 클라이언트 영역에 있는 레이블을 탐색할 수 없습니다. Pocket PC 응용 프로그램을 사용할 경우 스크롤 막대를 눌러 탐색할 수 있지만 Smartphone에서는 이 기능을 사용할 수 없습니다.

AutoScrollPosition 속성을 조정하는 KeyDown 이벤트에 대한 이벤트 처리기에 코드를 제공하여 탐색을 구현할 수 있습니다.

레이블 폼 컨트롤을 스크롤하려면

  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. y 점 좌표의 픽셀 설정 수만큼 세로로 이동하도록 AutoScrollPosition 속성을 설정합니다. 다음 코드 예제에서는 16을 사용합니다. AutoScrollPosition은 음수 값에 의해 오프셋되지만 제공된 점 값은 양수로 표시되어야 하므로 코드가 복잡합니다.

    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 방법 항목

기타 리소스

Smartphone 개발 및 .NET Compact Framework