I’ve got a winform with a BindingSource that has an int property named Opacity in its DataSource. I also have a TrackBar on the winform that I want to use to control the Opacity of the winform.
I’ve bound the Value property on the TrackBar to the Opacity and that functions just fine, sliding the TrackBar will change the variable from TrackBar.Minimum (0) to TrackBar.Maximum (1).
I’ve also bound the Opacity property of the winform to this value, however, since the TrackBar‘s values only go from Minimum to Maximum in +/-1 rather than +/- .1 or so (like Opacity does), it doesn’t properly fade the winform. Instead, 0 will turn it opaque and 1 will turn it fully visible.
I need a way to work within the architecture described above, but get the TrackBar to change its value from 0 to 1 in defined increments smaller than 1.
I think the cleanest way to do this would be to create a
UserControlthat inherits directly fromTrackBar, that hides theValue,SmallChange,Minimum,MaximumandTickFrequencyproperties with same-nameddoubleproperties: