Создание клавиши Shift для клавиатуры в форме Windows - PullRequest
0 голосов
/ 06 ноября 2018

Я недавно начал изучать VB.net и C #.

Во всяком случае, я создал приложение Windows Form на VB.net с клавиатурой.

Для смены клавиш между прописными и строчными буквами также имеется клавиша Shift, которая работает, циклически просматривая все элементы управления в форме и изменяя регистр текста элемента управления на основе tabindex.

Код VB.NET:

Private bShiftEngaged As Boolean

Private Sub btnShift_Click(sender As Object, e As EventArgs) Handles btnShift.Click
    Dim ctrl As Control

    If bShiftEngaged = False Then

        For Each ctrl In Me.Controls

            If ctrl.TabIndex >= 20 And ctrl.TabIndex <= 45 Then

                ctrl.Text = LCase(ctrl.Text)

            End If

        Next ctrl

    Else

        For Each ctrl In Me.Controls

            If ctrl.TabIndex >= 20 And ctrl.TabIndex <= 45 Then

                ctrl.Text = UCase(ctrl.Text)

            End If

        Next ctrl

    End If

End Sub

Я пытался повторить это в C #. Проблема в том, что все элементы управления меняются.

C # Код:

    private void btnShift_Click(object sender, EventArgs e)
        {
        if (bShiftEngaged == false)
            {
            foreach (Control ctrl in this.Controls)
                {
                if (ctrl.TabIndex >= 20 && ctrl.TabIndex <= 45) ;
                    {
                   ctrl.Text = ctrl.Text.ToLower();
                    }
                }
             }
        else
            {
            foreach (Control ctrl in this.Controls)
                {
                if (ctrl.TabIndex >= 20 && ctrl.TabIndex <= 45) ;
                    {
                    ctrl.Text = ctrl.Text.ToUpper();
                    }
                }
            }
        }

Буду признателен за помощь в изменении кода, поэтому будут затронуты только элементы управления с tabindex между 20 и 45.

...