ToolTip tip=new ToolTip (); private void tree_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { TreeNode currentNode = tree.GetNodeAt(e.X, e.Y); if ((currentNode == null) || (previousNode == currentNode) || (currentNode.Tag == null)) return; string toolTipText = string.Empty; previousNode = currentNode; object o = previousNode.Tag; if (o is Class1) toolTipText = Class1.Description; else if (o is Class2) toolTipText = Class2.Description; else if (o is Class3) toolTipText = Class3.Description; else toolTipText = string.Empty; // Turn off the tooltip so we can change the text if (tip.Active) tip.Active = false; // Change the tooltip text tip.SetToolTip(tree, toolTipText); // Turn on the tooltip tip.Active = true; }