public void SetToolTipWhenDisabled(Control control, string value)
{
if (control == null)
{
throw new ArgumentNullException("control");
}
UpdateAllControlsList(control, value);
if (!String.IsNullOrEmpty(value))
{
_toolTipWhenDisabled[control] = value;
if (!control.Enabled)
{
// When the control is disabled at design time, the EnabledChanged
// event won't fire. So, on the first Paint event, we should call
// PutOnBetterTooltipTransparentOverlay().
_paintEventHandlers.Add(control, new PaintEventHandler(control_Paint));
control.Paint += _paintEventHandlers[control];
}
_controlEnabledChangedHandlers.Add(control, new EventHandler(control_EnabledChanged));
control.EnabledChanged += _controlEnabledChangedHandlers[control];
}
else
{
_toolTipWhenDisabled.Remove(control);
control.EnabledChanged -= _controlEnabledChangedHandlers[control];
_controlEnabledChangedHandlers.Remove(control);
_paintEventHandlers.Remove(control);
}
}