Библиотека книг по компьютерным технологиям
⇒ ⇒ Разработка Windows-приложений на Microsoft Visual Basic .NET и Microsoft Visual C# .NET. Учебный курс MCAD/MCSD
⇒ ⇒ ⇒ Глава 2. Создание пользовательского интерфейса
⇒ ⇒ ⇒ ⇒ Практикум 2. Приложение Virtual Doughnut Factory

Читать далее: Закрепление материала

Упражнение 3. Создание обработчиков, проверяющих вводимые данные

Сейчас вы напишите простые обработчики, проверяющие значение текстового поля txtQuantity. Для этого воспользуйтесь компонентом ErrorProvider. В следующем практикуме вы добавите к форме дополнительные процедуры, проверяющие вводимые данные.

Создание обработчиков, проверяющих вводимые данные, в проектах Visual Basic .NET

  1. Дважды щелкните на панели Toolbox компонент ErrorProvider — он появится в области компонентов.
  2. Щелкните правой кнопкой окно дизайнера и выберите из контекстного меню View Code, чтобы открыть редактор кода. В редакторе кода укажите в раскрывающемся списке слева txtQuantity, а в списке справа — KeyPress.
  3. В редакторе кода появится шаблон обработчика события txtQuantity_KeyPress.

  4. Добавьте к обработчику код, отображающий сообщение об ошибке при вводе в это поле любых символов, кроме цифр.
  5. Visual Basic .NET

    Private Sub txtQuantity_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtQuantity.KeyPress
      If Char.IsDigit(e.KeyChar) = False Then
        ErrorProvider1.SetError(txtQuantity, "Please enter a numeric value")
      Else
        ErrorProvider1.SetError(txtQuantity, "")
      End If
    End Sub
    
  6. В раскрывающемся списке слева выберите txtQuantity, а в меню справа — событие Validating; редактор кода откроет шаблон обработчика соответствующего события.
  7. Добавьте к обработчику код, проверяющий наличие значения в текстовом поле txtQuantity, а также допустимость введенного значения:
  8. Visual Basic .NET

    Private Sub txtQuantity_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtQuantity.Validating
      ' Проверить, пусто ли поле.
      If txtQuantity.Text = "" Then
        ErrorProvider1.SetError(txtQuantity, "Please, enter a quantity")
        e.Cancel = True
        ' Проверить, допустимо ли введенное значение.
      ElseIf ErrorProvider1.GetError(txtQuantity) <> "" Then
        e.Cancel = True
      Else
        ErrorProvider1.SetError(txtQuantity, "")
      End If
    End Sub
    

Создание обработчиков, проверяющих вводимые данные, в проектах Visual C#

  1. Дважды щелкните на панели Toolbox компонент ErrorProvider — он появится в области компонентов.
  2. В окне дизайнера выберите поле txtQuantity в окне Properties щелкните кнопку Events и дважды щелкните событие KeyPress — в редакторе кода откроется шаблон обработчика события txtQuantity_KeyPress.
  3. Добавьте к обработчику код, отображающий сообщение об ошибке при вводе в поле любых символов, кроме цифр.
  4. Visual C#

    private void txtQuantity_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
      if(Char.IsDigit(e.KeyChar) == false)
        errorProvider1.SetError(txtQuantity, "Please enter a numeric value");
      else
        errorProvider1.SetError(txtQuantity, "");
    }
    
  5. В Solution Explorer щелкните правой кнопкой форму frmMain и выберите из контекстного меню команду View Designer. Выберите поле txtQuantity, в окне Properties щелкните кнопку Events, затем дважды щелкните событие Validating — редактор кода откроет шаблон обработчика соответствующего события.
  6. Добавьте к обработчику код, проверяющий наличие в текстовом поле txtQuantity значения, а также допустимость введенного значения:
  7. Visual C#

    private void txtQuantity_Validating(object sender, System.ComponentModel.CancelEventArgs e)
    {
      // Проверить, пусто ли поле.
      if(txtQuantity.Text == "")
      {
        errorProvider1.SetError(txtQuantity, "Please, enter a quantity");
        e.Cancel = true;
      }
      // Проверить, допустимо ли введенное значение.
      else if(errorProvider1.GetError(txtQuantity) != "")
        e.Cancel = true;
      else
        errorProvider1.SetError(txtQuantity, "");
    }
    
Google
 
Рейтинг@Mail.ru
Сайт управляется системой uCoz