Поделиться через


Пошаговое руководство. Разрешение переходов между фигурами (Visual Studio)

У элементов управления Line и shape нет свойств TabStop или TabIndex, но сохраняется возможность включить переход между ними. В следующем примере одновременное нажатие CTRL и TAB приведет к переключению между фигурами; нажатие только TAB приведет к переключению между кнопками.

Примечание

На компьютере могут отображаться разные имена или расположения некоторых элементов пользовательского интерфейса Visual Studio, отличающиеся от указанных в дальнейших инструкциях.Эти элементы определяются используемой версией и параметрами Visual Studio.Дополнительные сведения см. в разделе Работа с параметрами.

Чтобы разрешить переключение между фигурами

  1. Перетащите три элемента управления RectangleShape и два элемента управления Button из панели Панель элементов на форму.

  2. В Редакторе кода добавьте оператор Imports или usingв начало модуля:

    Imports Microsoft.VisualBasic.PowerPacks
    
    using Microsoft.VisualBasic.PowerPacks;
    
  3. В процедуру обработки события добавьте следующий код:

    Private Sub Shapes_PreviewKeyDown(
        ByVal sender As Object, 
        ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs
      ) Handles RectangleShape1.PreviewKeyDown, 
                RectangleShape2.PreviewKeyDown, 
                RectangleShape3.PreviewKeyDown
    
        Dim sh As Shape
        ' Check for the Control and Tab keys.
        If e.KeyCode = Keys.Tab And e.Modifiers = Keys.Control Then
            ' Find the next shape in the order.
            sh = ShapeContainer1.GetNextShape(sender, True)
            ' Select the next shape.
            ShapeContainer1.SelectNextShape(sender, False, True)
        End If
    End Sub
    
    private void shapes_PreviewKeyDown(Shape sender, System.Windows.Forms.PreviewKeyDownEventArgs e)
    {
        Shape sh;
        // Check for the Control and Tab keys.
        if (e.KeyCode == Keys.Tab && e.Modifiers == Keys.Control)
        // Find the next shape in the order.
        {
            sh = shapeContainer1.GetNextShape(sender, true);
            // Select the next shape.
            shapeContainer1.SelectNextShape(sender, false, true);
        }
    }
    
  4. В процедуру обработки события Button1_PreviewKeyDown добавьте следующий код:

    Private Sub Button1_PreviewKeyDown(
        ByVal sender As Object, 
        ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs
      ) Handles Button1.PreviewKeyDown
    
        ' Check for the Control and Tab keys.
        If e.KeyCode = Keys.Tab And e.Modifiers = Keys.Control Then
            ' Select the first shape.
            RectangleShape1.Select()
        End If
    End Sub
    
    private void button1_PreviewKeyDown(object sender, System.Windows.Forms.PreviewKeyDownEventArgs e)
    {
        // Check for the Control and Tab keys.
        if (e.KeyCode == Keys.Tab & e.Modifiers == Keys.Control)
        // Select the first shape.
        {
            rectangleShape1.Select();
        }
    }
    

См. также

Задачи

Пошаговое руководство. Рисование фигур при помощи элементов управления OvalShape и RectangleShape (Visual Studio)

Пошаговое руководство. Изображение линий при помощи элемента управления LineShape (Visual Studio)

Основные понятия

Знакомство с элементами управления Line и Shape (Visual Studio)