Open In App

How to set automatic delay for ToolTip in C#?

Improve
Improve
Like Article
Like
Save
Share
Report

In Windows Forms, the ToolTip represents a tiny pop-up box which appears when you place your pointer or cursor on the control and the purpose of this control is it provides a brief description about the control present in the windows form. In ToolTip, you can set the automatic delay for the ToolTip using AutomaticDelay Property.
This property allows you to set a solo delay values for the AutoPopDelay, InitialDelay, and ReshowDelay properties. Whenever the value of AutomaticDelay property, then the following values set by default:

  • For AutoPopDelay property: The default value is 10 times the value of AutomaticDelay property.
  • For InitialDelay property: The default value is equal to the value of the AutomaticDelay property.
  • For ReshowDelay property: The default value is 1/5 of the value of the AutomaticDelay property.

The values of these properties can also be set independently. You can set this property in two different ways:

1. Design-Time: It is the easiest way to set the value of the AutomaticDelay property as shown in the following steps:

  • Step 1: Create a windows form as shown in the below image:
    Visual Studio -> File -> New -> Project -> WindowsFormApp
  • Step 2: Drag the ToolTip from the ToolBox and drop it on the form. When you drag and drop this ToolTip on the form it will automatically add to the properties(named as ToolTip on ToolTip1) of every controls present in the current windows from.
  • Step 3: After drag and drop you will go to the properties of the ToolTip and set the value of the AutomaticDelay property.

    Output:

2. Run-Time: It is a little bit trickier than the above method. In this method, you can set the AutomaticDelay property of ToolTip programmatically with the help of given syntax:

public int AutomaticDelay { get; set; }

Here, the value of this property is of System.Int32 type and the delay is always in milliseconds. The default value of this property is 500. The following steps show how to set the AutomaticDelay property of the ToolTip dynamically:

  • Step 1: Create a ToolTip using the ToolTip() constructor is provided by the ToolTip class.
    // Creating a ToolTip
    ToolTip t = new ToolTip();
    
  • Step 2: After creating Tooltip, set the AutomaticDelay property of the Tooltip provided by the ToolTip class.
    // Setting the AutomaticDelay property
    t.AutomaticDelay = 600;
    
  • Step 3: And last add this ToolTip to the controls using SetToolTip() method. This method contains the control name and the text which you want to display in the ToolTip box.
    t.SetToolTip(box1, "Name should start with Capital letter");

    Example:




    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
      
    namespace WindowsFormsApp34 {
      
    public partial class Form1 : Form {
      
        public Form1()
        {
            InitializeComponent();
        }
      
        private void Form1_Load(object sender, EventArgs e)
        {
            // Creating and setting the
            // properties of the Label
            Label l1 = new Label();
            l1.Location = new Point(140, 122);
            l1.Text = "Name";
      
            // Adding this Label 
            // control to the form
            this.Controls.Add(l1);
      
            // Creating and setting the 
            // properties of the TextBox
            TextBox box1 = new TextBox();
            box1.Location = new Point(248, 119);
            box1.BorderStyle = BorderStyle.FixedSingle;
      
            // Adding this TextBox 
            // control to the form
            this.Controls.Add(box1);
      
            // Creating and setting 
            // the properties of the Label
            Label l2 = new Label();
            l2.Location = new Point(140, 152);
            l2.Text = "Password";
      
            // Adding this Label 
            // control to the form
            this.Controls.Add(l2);
      
            // Creating and setting the 
            // properties of the TextBox
            TextBox box2 = new TextBox();
            box2.Location = new Point(248, 145);
            box2.BorderStyle = BorderStyle.FixedSingle;
      
            // Adding this TextBox 
            // control to the form
            this.Controls.Add(box2);
      
            // Creating and setting the
            // properties of the ToolTip
            ToolTip t = new ToolTip();
            t.Active = true;
            t.AutoPopDelay = 4000;
            t.InitialDelay = 600;
            t.IsBalloon = true;
            t.ToolTipIcon = ToolTipIcon.Info;
            t.ToolTipTitle = "Important";
            t.AutomaticDelay = 600;
            t.SetToolTip(box1, "Name should start with Capital letter");
            t.SetToolTip(box2, "Password should be greater than 8 words");
        }
    }
    }

    
    

    Output:



Last Updated : 19 Jul, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads