private void SetButtonToolTips(Control ctrl) { var pt = split.PointToClient(Cursor.Position); var btns = _buttons.Where(b => b.Rect.Contains(pt)); if (btns.Any()) { ctrl.Cursor = Cursors.Default; // restore default cursor // ensure splitter rectangle doesn't overlap button rectangle if (split.SplitterRectangle.Contains(pt)) { AdjustSplitterRectangle(); } // set the appropriate tool-tip var btn = btns.First(); if (_tooltip.Tag == null || (SplitContainerButtons)_tooltip.Tag != btn.Type) { _tooltip.SetToolTip(split, btn.GetToolTip(split)); _tooltip.Tag = btn.Type; } } else { // clear the tool-tip _tooltip.SetToolTip(split, ""); _tooltip.Tag = null; } }