Why is Databinding for a CheckedListBox "Hidden"?
c#, checkedlistbox, data-binding
Solution
The `CheckedListBox` is intended to be used with its `Add` and `AddRange` methods:
To add objects to the list at run time, assign an array of object references with the `AddRange` method. The list then displays the default string value for each object. You can add individual items to the list with the `Add` method.
While data binding to the `CheckedListBox` may work you ought to avoid creating dependencies on anything but the public interface of a type. I would recommend that you use the proper methods as this will make you code less brittle in the event that Microsoft changes the implementation of `CheckedListBox`.
Problem
The DataSource property on a CheckedListBox is hidden from Intellisense. Why? You can use the binding properties to make it work, but I'm worried that it's hidden for a reason and that I shouldn't be databinding on a CheckedListBox for some important reason that I'm not aware of. Is databinding on a CheckedListBox ok??