Пошаговое руководство. Разрешение переходов между фигурами (Visual Studio)
У элементов управления Line и shape нет свойств TabStop или TabIndex, но сохраняется возможность включить переход между ними. В следующем примере одновременное нажатие CTRL и TAB приведет к переключению между фигурами; нажатие только TAB приведет к переключению между кнопками.
Примечание
На компьютере могут отображаться разные имена или расположения некоторых элементов пользовательского интерфейса Visual Studio, отличающиеся от указанных в дальнейших инструкциях.Эти элементы определяются используемой версией и параметрами Visual Studio.Дополнительные сведения см. в разделе Работа с параметрами.
Чтобы разрешить переключение между фигурами
Перетащите три элемента управления RectangleShape и два элемента управления Button из панели Панель элементов на форму.
В Редакторе кода добавьте оператор Imports или usingв начало модуля:
Imports Microsoft.VisualBasic.PowerPacks
using Microsoft.VisualBasic.PowerPacks;
В процедуру обработки события добавьте следующий код:
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); } }
В процедуру обработки события 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(); } }
См. также
Задачи
Пошаговое руководство. Изображение линий при помощи элемента управления LineShape (Visual Studio)
Основные понятия
Знакомство с элементами управления Line и Shape (Visual Studio)