2
  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();
    }
    
4

1 回答 1

1

让我解释一下ErrorProvider。

  1. Windows 应用程序中的 ErrorProvider 具有以下行为。

    • 它将根据配置显示错误图标。
    • 一旦您将鼠标光标放在上面,它将显示您设置的错误消息。
  2. 您想要的行为也是显示错误消息和图标。

    • 有一种解决方案可以构建您自己的控件,就像 ErrorProvider 一样。
于 2018-10-06T01:50:24.280 回答