title: C# Winforms NumericUpDown Binding
body: <p>When you bind property Value an exception is thrown:</p>
  
  <blockquote>
    <p>An exception of the type "System.ArgumentException" appeared in System.Windows.Forms.dll, but was not processed in user code</p>
    
    <p>For more information: For a composite DataBinding, the IList or
    IListSource can serve as the data source.</p>
  </blockquote>
  
  <p><strong>Form</strong></p>
  
  <pre><code>public partial class MainForm : Form, IPresenter&lt;MainPresenter&gt;
  {
          private MainPresenter _presenter;
          public MainForm()
          {
              InitializeComponent();
              _presenter = new MainPresenter() { Current = this };
              numericUpDown1.DataBindings.Add(new Binding("Value", _presenter, nameof(_presenter.YearOfIssue), false, DataSourceUpdateMode.OnPropertyChanged));
  
          }
  }
  </code></pre>
  
  <p><strong>Presetner</strong></p>
  
  <pre><code>public class MainPresenter : PresenterBase, IView&lt;MainForm&gt;
  {
          private decimal _yearOfIssue;
          private MainForm _form;
  
          public decimal YearOfIssue
          {
              get
              {
                  return _yearOfIssue;
              }
              set
              {
                  _yearOfIssue = value;
                  OnChanged("YearOfIssue");
              }
          }
  }
  </code></pre>
  
  <p><strong>Question</strong></p>
  
  <p><strong>How to correctly bind the property "Value" in Control NumericUpDown?</strong></p>