title: Databind can't contvert by IBindableComponent
body: <p>I am using the VS2017 IDE, and DotNet4.5.2 and WinForm frameworks.</p>
  
  <p>I want to display a value with a progress bar, so I wrote the following code and it works:</p>
  
  <pre><code>progressBar1.DataBindings.Add(nameof(ProgressBar.Maximum), source, nameof(source.Maximum));
  progressBar1.DataBindings.Add(nameof(ProgressBar.Minimum), source, nameof(source.Minimum));
  progressBar1.DataBindings.Add(nameof(ProgressBar.Value), source, nameof(source.Status)).Format += (sender,e) =&gt; {
      e.Value = (int)(e.Value as IStatus).Value;
  };
  </code></pre>
  
  <p>I want to use the ToolStripProgressBar to display it, but because it cannot perform data binding, I defined a new class to inherit it and implement IBindableComponent as follows:</p>
  
  <pre><code>public class BindableToolStripProgressBar : ToolStripProgressBar, IBindableComponent
  {
      private BindingContext bindingContext;
      private ControlBindingsCollection dataBindings;
  
      public BindingContext BindingContext
      {
          get
          {
              if (bindingContext == null)
              {
                  bindingContext = new BindingContext();
              }
              return bindingContext;
          }
          set
          {
              bindingContext = value;
          }
      }
  
      public ControlBindingsCollection DataBindings
      {
          get
          {
              if (dataBindings == null)
              {
                  dataBindings = new ControlBindingsCollection(this);
              }
              return dataBindings;
          }
      }
  }
  </code></pre>
  
  <p>Then I changed the data binding object from ProgressBar to the newly defined BindableToolStripProgressBar, but this time running the application results in the throwing of a System.FormatException:</p>
  
  <pre><code>tspb.DataBindings.Add(nameof(ProgressBar.Maximum), source, nameof(source.Maximum));
  tspb.DataBindings.Add(nameof(ProgressBar.Minimum), source, nameof(source.Minimum));
  tspb.DataBindings.Add(nameof(ProgressBar.Value), source, nameof(source.Status)).Format += (sender, e) =&gt; {
      e.Value = (int)(e.Value as IStatus).Value; // Will be thrown FormatException
  };
  </code></pre>
  
  <p>Is there anything wrong with my implementation of IBindableComponent?
  Thanks in advace!</p>