In this article I will explain use of tooltips on Mouse Hover, and some other events like
Textbox enter and others.
Generally we can see tooltip in this fashion
I will show this in a balloon fashioned tooltip so that the look and feel of this will be good as follows
Example:
Design a form in such a way that you should have some labels, textboxes, and combo box as per your requirement.
In my example I will take 3 textboxes, 3 labels 1 combo box a button and a Tooltip.
Sample Screen:
Output
Since I have written my code in the mouse hover event the tool tips will appear if the mouse is over a particular control
Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Tooltip
{
public partial class Form1 : Form
{
Required requiredField = new Required();
RequiredLength reqLenth = new RequiredLength();
MouseOver objMouseover = new MouseOver();
MouseLeave objMouseleave = new MouseLeave();
ToolTipRemove ttpRemove = new ToolTipRemove();
public Form1()
{
InitializeComponent();
}
public class Required
{
public void Requiredfield(TextBox txtRequired, ToolTip ttpRequired)
{
if (txtRequired.Text != string.Empty)
{
ttpRequired.ShowAlways = false;
ttpRequired.Hide(txtRequired);
}
else
{
ttpRequired.AutoPopDelay = 2000;
ttpRequired.InitialDelay = 1000;
ttpRequired.ReshowDelay = 500;
ttpRequired.IsBalloon = true;
ttpRequired.ShowAlways = true;
ttpRequired.Show(string.Empty, txtRequired, 0);
ttpRequired.Show("Required", txtRequired, txtRequired.Width, txtRequired.Height / 10);
}
}
}
public class RequiredLength
{
public void reqLength(TextBox txtLength, ToolTip ttpLength)
{
if (txtLength.Text.Length < 9)
{
ttpLength.AutoPopDelay = 2000;
ttpLength.InitialDelay = 1000;
ttpLength.ReshowDelay = 500;
ttpLength.IsBalloon = true;
ttpLength.ShowAlways = true;
ttpLength.SetToolTip(txtLength, "Must be 10 Digits");
ttpLength.Show("Must be 10 Digits", txtLength, txtLength.Width, txtLength.Height / 10);
}
else
{
ttpLength.ShowAlways = false;
ttpLength.Hide(txtLength);
}
}
}
public class MouseOver
{
public void mouseOver(TextBox txtShow, ToolTip ttpShow)
{
switch (txtShow.Name)
{
case "textBox1":
{
ttpShow.AutoPopDelay = 2000;
ttpShow.InitialDelay = 1000;
ttpShow.ReshowDelay = 500;
ttpShow.IsBalloon = true;
ttpShow.SetToolTip(txtShow, "Ex:Dorababu");
ttpShow.Show("Ex : Dorabbau", txtShow, txtShow.Width, txtShow.Height / 10, 5000);
}
break;
case "textBox2":
{
ttpShow.AutoPopDelay = 2000;
ttpShow.InitialDelay = 1000;
ttpShow.ReshowDelay = 500;
ttpShow.IsBalloon = true;
ttpShow.SetToolTip(txtShow, "Ex:9000000000(Must be 10 Digits");
ttpShow.Show("Ex:9000000000(Must be 10 Digits", txtShow, txtShow.Width, txtShow.Height / 10, 5000);
}
break;
case "textBox3":
{
ttpShow.AutoPopDelay = 2000;
ttpShow.InitialDelay = 1000;
ttpShow.ReshowDelay = 500;
ttpShow.IsBalloon = true;
ttpShow.SetToolTip(txtShow, "Ex:XYZ,India");
ttpShow.Show("Ex:XYZ,India", txtShow, txtShow.Width, txtShow.Height / 10, 5000);
}
break;
}
}
}
public class MouseLeave
{
public void mouseLeave(TextBox txtMouseLeave, ToolTip ttpMouseLeave)
{
ttpMouseLeave.Hide(txtMouseLeave);
}
}
public class ToolTipRemove
{
public void removeToolTip(ToolTip ttpRemove, TextBox txtRemove)
{
ttpRemove.AutoPopDelay = 0;
ttpRemove.InitialDelay = 0;
ttpRemove.ReshowDelay = 0;
ttpRemove.IsBalloon = false;
ttpRemove.Hide(txtRemove);
}
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != string.Empty && textBox2.Text != string.Empty && textBox3.Text != string.Empty && comboBox1.SelectedIndex != 0)
{
MessageBox.Show("Valid");
}
}
private void textBox1_Validating(object sender, CancelEventArgs e)
{
requiredField.Requiredfield(textBox1, toolTip2);
}
private void textBox2_Validating(object sender, CancelEventArgs e)
{
requiredField.Requiredfield(textBox2, toolTip3);
}
private void textBox1_MouseHover(object sender, EventArgs e)
{
objMouseover.mouseOver(textBox1, toolTip1);
}
private void textBox1_MouseLeave(object sender, EventArgs e)
{
objMouseleave.mouseLeave(textBox1, toolTip1);
}
private void textBox2_MouseHover(object sender, EventArgs e)
{
objMouseover.mouseOver(textBox2, toolTip1);
}
private void textBox2_MouseLeave(object sender, EventArgs e)
{
objMouseleave.mouseLeave(textBox2, toolTip1);
}
private void textBox3_MouseLeave(object sender, EventArgs e)
{
objMouseleave.mouseLeave(textBox3, toolTip1);
}
private void textBox3_MouseHover(object sender, EventArgs e)
{
objMouseover.mouseOver(textBox3, toolTip1);
}
private void comboBox1_MouseHover(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == 0)
{
toolTip1.AutoPopDelay = 2000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.IsBalloon = true;
toolTip1.ShowAlways = true;
toolTip1.SetToolTip(comboBox1, "Select One ");
toolTip1.Show("Select One ", comboBox1, comboBox1.Width, comboBox1.Height / 10);
}
else
{
toolTip1.ShowAlways = false;
toolTip1.Hide(comboBox1);
}
}
private void comboBox1_MouseLeave(object sender, EventArgs e)
{
toolTip5.Hide(comboBox1);
}
private void textBox3_Validating(object sender, CancelEventArgs e)
{
requiredField.Requiredfield(textBox3, toolTip4);
}
}
}