Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.Designer.cs =================================================================== diff -u -r9c341ce32f55de21dcc7ab33717e1750c437fb0e -re066f6fce8df4604082ede0fcd13921a8d66c560 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.Designer.cs (.../FailureMechanismAssemblyResultControl.Designer.cs) (revision 9c341ce32f55de21dcc7ab33717e1750c437fb0e) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.Designer.cs (.../FailureMechanismAssemblyResultControl.Designer.cs) (revision e066f6fce8df4604082ede0fcd13921a8d66c560) @@ -51,11 +51,14 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FailureMechanismAssemblyResultControl)); this.GroupPanel = new System.Windows.Forms.TableLayoutPanel(); this.description = new System.Windows.Forms.Label(); this.GroupLabel = new Ringtoets.Common.Forms.Controls.BoxedLabel(); + this.ErrorProvider = new System.Windows.Forms.ErrorProvider(this.components); this.GroupPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).BeginInit(); this.SuspendLayout(); // // GroupPanel @@ -76,6 +79,11 @@ this.GroupLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.GroupLabel.Name = "GroupLabel"; // + // ErrorProvider + // + this.ErrorProvider.ContainerControl = this; + this.ErrorProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.ErrorIcon; + // // FailureMechanismAssemblyResultControl // resources.ApplyResources(this, "$this"); @@ -84,14 +92,16 @@ this.Name = "FailureMechanismAssemblyResultControl"; this.GroupPanel.ResumeLayout(false); this.GroupPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); } #endregion - public BoxedLabel GroupLabel; private System.Windows.Forms.Label description; protected System.Windows.Forms.TableLayoutPanel GroupPanel; + protected BoxedLabel GroupLabel; + protected System.Windows.Forms.ErrorProvider ErrorProvider; } } Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.cs =================================================================== diff -u -r9c341ce32f55de21dcc7ab33717e1750c437fb0e -re066f6fce8df4604082ede0fcd13921a8d66c560 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.cs (.../FailureMechanismAssemblyResultControl.cs) (revision 9c341ce32f55de21dcc7ab33717e1750c437fb0e) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.cs (.../FailureMechanismAssemblyResultControl.cs) (revision e066f6fce8df4604082ede0fcd13921a8d66c560) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Windows.Forms; namespace Ringtoets.Common.Forms.Controls @@ -35,5 +36,20 @@ { InitializeComponent(); } + + public void ClearError() + { + ErrorProvider.SetError(this, string.Empty); + } + + public void SetError(string error) + { + if (error == null) + { + throw new ArgumentNullException(nameof(error)); + } + + ErrorProvider.SetError(this, error); + } } } \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.resx =================================================================== diff -u -r9c341ce32f55de21dcc7ab33717e1750c437fb0e -re066f6fce8df4604082ede0fcd13921a8d66c560 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.resx (.../FailureMechanismAssemblyResultControl.resx) (revision 9c341ce32f55de21dcc7ab33717e1750c437fb0e) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.resx (.../FailureMechanismAssemblyResultControl.resx) (revision e066f6fce8df4604082ede0fcd13921a8d66c560) @@ -234,6 +234,9 @@ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="description" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="GroupLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + 17, 17 + True @@ -246,6 +249,12 @@ 274, 150 + + ErrorProvider + + + System.Windows.Forms.ErrorProvider, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + FailureMechanismAssemblyResultControl Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultControlTest.cs =================================================================== diff -u -r9c341ce32f55de21dcc7ab33717e1750c437fb0e -re066f6fce8df4604082ede0fcd13921a8d66c560 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultControlTest.cs (.../FailureMechanismAssemblyResultControlTest.cs) (revision 9c341ce32f55de21dcc7ab33717e1750c437fb0e) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultControlTest.cs (.../FailureMechanismAssemblyResultControlTest.cs) (revision e066f6fce8df4604082ede0fcd13921a8d66c560) @@ -19,11 +19,14 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Drawing; using System.Windows.Forms; +using Core.Common.TestUtil; using Core.Common.Util.Reflection; using NUnit.Framework; using Ringtoets.Common.Forms.Controls; +using Ringtoets.Common.Forms.Properties; namespace Ringtoets.Common.Forms.Test.Controls { @@ -37,18 +40,75 @@ var resultControl = new FailureMechanismAssemblyResultControl(); // Assert + Assert.AreEqual(1, resultControl.Controls.Count); Assert.IsInstanceOf(resultControl); Assert.IsTrue(resultControl.AutoSize); - Assert.IsInstanceOf(resultControl.GroupLabel); - Assert.IsTrue(resultControl.GroupLabel.AutoSize); - Assert.AreEqual(DockStyle.Fill, resultControl.GroupLabel.Dock); - Assert.AreEqual(new Padding(5, 0, 5, 0), resultControl.GroupLabel.Padding); - var description = TypeUtils.GetField