Category / Section
                                    
                                How to display the SuperToolTip for disabled controls?
                
                
                    2 mins read
                
            
    You can display the SuperToolTip for disabled controls when mouse over on it. For the disabled controls, mouse pointer notification and events related to that are not triggered. This requirement can be achieved by handling the parent form's MouseMove event and the GetChildAtPoint function.
Purpose of GetChildAtPoint:
This function retrieves the child control that is located at the specified coordinates. So, when the cursor points over a specified control, the SuperToolTip can be displayed.
C#
bool IsShown = false;
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    Control ctrl = this.GetChildAtPoint(e.Location);
    if (ctrl != null)
    {
        if (ctrl == this.buttonAdv1 && !IsShown)
        {
            //Initializes the ToolTipInfo
            ToolTipInfo tooltip = new ToolTipInfo();
            tooltip.Body.Text = "SuperToolTip";
            //Sets the SuperToolTip
            this.superToolTip1.SetToolTip(this.buttonAdv1, tooltip);
            System.Drawing.Point pt1 = new System.Drawing.Point(ctrl.Location.X+20, ctrl.Location.Y+30);
            //Shows the SuperToolTip in the specified location
            this.superToolTip1.Show(tooltip, this.PointToScreen(pt1), 1000);
            IsShown = true;
        }
    }
    else
    {
        this.superToolTip1.Hide();
        IsShown = false;
    }
}
VB
Private IsShown As Boolean = False Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseMove Dim ctrl As Control = Me.GetChildAtPoint(e.Location) If ctrl IsNot Nothing Then If ctrl Is Me.buttonAdv1 AndAlso (Not IsShown) Then 'Initializes the ToolTipInfo Dim tooltip As New ToolTipInfo() tooltip.Body.Text = "SuperToolTip" 'Sets the SuperToolTip Me.superToolTip1.SetToolTip(Me.buttonAdv1, tooltip) Dim pt1 As New System.Drawing.Point(ctrl.Location.X+20, ctrl.Location.Y+30) 'Shows the SuperToolTip in the specified location Me.superToolTip1.Show(tooltip, Me.PointToScreen(pt1), 1000) IsShown = True End If Else Me.superToolTip1.Hide() IsShown = False End If End Sub
Output:

Sample: View sample in GitHub.
