ErrorProvider не отображает сообщение об ошибке - PullRequest
0 голосов
/ 06 октября 2018
  1. В следующем коде я использовал errorProvider.SetError(control, message) для отображения сообщения, но отображается только Icon, сообщение не отображается, что не так?
  2. Есть лиспособ отрегулировать только левое поле сообщения об ошибке?(Я знаю, что вы можете SetIconPadding, но я хочу изменить только левое поле)

    public static DialogResult ShowDialog()
    {
      var inputBox = new Form { ClientSize = new Size(520, 225), FormBorderStyle = FormBorderStyle.FixedDialog };        
      var panel = new TableLayoutPanel { Size = new Size(460, 100), Location = new System.Drawing.Point(45, 15) };        
      var errorProvider = new ErrorProvider { Icon = SystemIcons.Exclamation, BlinkStyle = ErrorBlinkStyle.NeverBlink };        
      errorProvider.SetIconAlignment(panel, ErrorIconAlignment.BottomLeft);
    
      var okButton = new Button
      {
        Size = new System.Drawing.Size(70, 30),
        Location = new Point(330, 180),
        Text = "OK"
      };
    
      okButton.Click += new EventHandler((sender, e) => { errorProvider.SetError(panel, "Test Error"); });
      inputBox.Controls.Add(panel);
      inputBox.Controls.Add(okButton);
    
      return inputBox.ShowDialog();
    }
    

1 Ответ

0 голосов
/ 06 октября 2018

Позвольте мне объяснить, что такое ErrorProvider.

  1. ErrorProvider в приложении Windows работает следующим образом.

    • В соответствии с конфигурацией будет отображаться значок ошибки.
    • Будет отображаться сообщение об ошибке, которое вы установили после наведения на него курсора мыши.
  2. Требуемое поведение слишком отображает сообщение об ошибке вместе со значком.

    • Существует одно решение для создания собственного элемента управления, аналогичного ErrorProvider.
...