- В следующем коде я использовал
errorProvider.SetError(control, message)
для отображения сообщения, но отображается толькоIcon
, сообщение не отображается, что не так? Есть ли способ настроить только левое поле сообщения об ошибке? (Я знаю, что вы можете
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(); }
ErrorProvider не отображает сообщение об ошибке
comment
Насколько мне известно, он не будет отображать сообщение об ошибке, но когда вы наведете курсор на значок ошибки, он отобразит это сообщение об ошибке в виде всплывающей подсказки.
- person dotnetstep   schedule 06.10.2018
comment
Теперь это имеет смысл. Спасибо !
- person Yituo   schedule 06.10.2018
Ответы (1)
Позвольте мне объяснить об ErrorProvider.
ErrorProvider в приложении Windows ведет себя следующим образом.
- It will display error icon as per configuration.
- Он отобразит сообщение об ошибке, которое вы установили, как только вы наведете на него курсор мыши.
Поведение, которое вы хотите, - это слишком отображать сообщение об ошибке вместе со значком.
- There is one solution build your own control just like ErrorProvider.
person
dotnetstep
schedule
06.10.2018