5 implementations of IKeyboardToolTip
System.Windows.Forms (5)
System\Windows\Forms\Control.cs (1)
47IKeyboardToolTip,
System\Windows\Forms\Controls\DataGridView\DataGridViewCell.cs (1)
17public abstract partial class DataGridViewCell : DataGridViewElement, ICloneable, IDisposable, IKeyboardToolTip
System\Windows\Forms\Controls\ListView\ListViewItem.IKeyboardToolTip.cs (1)
8public partial class ListViewItem : IKeyboardToolTip
System\Windows\Forms\Controls\ToolStrips\ToolStripItem.cs (1)
27IKeyboardToolTip
System\Windows\Forms\Controls\TreeView\TreeNode.IKeyboardToolTip.cs (1)
8public partial class TreeNode : IKeyboardToolTip
188 references to IKeyboardToolTip
System.Windows.Forms (108)
System\Windows\Forms\Control.cs (19)
5323ToolStripControlHost is IKeyboardToolTip host 5601=> ((IKeyboardToolTip?)ToolStripControlHost)?.GetNeighboringToolsRectangles() ?? GetOwnNeighboringToolsRectangles(); 12823bool IKeyboardToolTip.CanShowToolTipsNow() => 12824IsHandleCreated && Visible && (ToolStripControlHost is not IKeyboardToolTip toolTip || toolTip.CanShowToolTipsNow()); 12826Rectangle IKeyboardToolTip.GetNativeScreenRectangle() => GetToolNativeScreenRectangle(); 12828IList<Rectangle> IKeyboardToolTip.GetNeighboringToolsRectangles() => GetNeighboringToolsRectangles(); 12830bool IKeyboardToolTip.IsHoveredWithMouse() => IsHoveredWithMouse(); 12832bool IKeyboardToolTip.HasRtlModeEnabled() => 12835bool IKeyboardToolTip.AllowsToolTip() => 12836(ToolStripControlHost is not IKeyboardToolTip toolTip || toolTip.AllowsToolTip()) && AllowsKeyboardToolTip(); 12838IWin32Window IKeyboardToolTip.GetOwnerWindow() => this; 12840void IKeyboardToolTip.OnHooked(ToolTip toolTip) => OnKeyboardToolTipHook(toolTip); 12842void IKeyboardToolTip.OnUnhooked(ToolTip toolTip) => OnKeyboardToolTipUnhook(toolTip); 12844string? IKeyboardToolTip.GetCaptionForTool(ToolTip toolTip) => GetCaptionForTool(toolTip); 12846bool IKeyboardToolTip.ShowsOwnToolTip() => 12847(ToolStripControlHost is not IKeyboardToolTip toolTip || toolTip.ShowsOwnToolTip()) && ShowsOwnKeyboardToolTip(); 12849bool IKeyboardToolTip.IsBeingTabbedTo() => AreCommonNavigationalKeysDown(); 12851bool IKeyboardToolTip.AllowsChildrenToShowToolTips() => AllowsChildrenToShowToolTips(); 12878neighboringControlsRectangles.Add(((IKeyboardToolTip)control).GetNativeScreenRectangle());
System\Windows\Forms\Controls\DataGridView\DataGridViewCell.cs (14)
51/// Used in <see cref="IKeyboardToolTip.GetNeighboringToolsRectangles"/> method. 289bool IKeyboardToolTip.CanShowToolTipsNow() => Visible && DataGridView is not null; 291Rectangle IKeyboardToolTip.GetNativeScreenRectangle() => AccessibilityObject.Bounds; 302IList<Rectangle> IKeyboardToolTip.GetNeighboringToolsRectangles() 333bool IKeyboardToolTip.IsHoveredWithMouse() => false; 335bool IKeyboardToolTip.HasRtlModeEnabled() => DataGridView is not null && DataGridView.RightToLeft == RightToLeft.Yes; 337bool IKeyboardToolTip.AllowsToolTip() => true; 339IWin32Window? IKeyboardToolTip.GetOwnerWindow() => DataGridView; 341void IKeyboardToolTip.OnHooked(ToolTip toolTip) => OnKeyboardToolTipHook(toolTip); 345void IKeyboardToolTip.OnUnhooked(ToolTip toolTip) => OnKeyboardToolTipUnhook(toolTip); 349string? IKeyboardToolTip.GetCaptionForTool(ToolTip toolTip) 359bool IKeyboardToolTip.ShowsOwnToolTip() => true; 361bool IKeyboardToolTip.IsBeingTabbedTo() => IsBeingTabbedTo(); 365bool IKeyboardToolTip.AllowsChildrenToShowToolTips() => true;
System\Windows\Forms\Controls\ListView\ListViewItem.IKeyboardToolTip.cs (13)
12bool IKeyboardToolTip.AllowsChildrenToShowToolTips() => AllowsToolTips; 14bool IKeyboardToolTip.AllowsToolTip() => true; 16bool IKeyboardToolTip.CanShowToolTipsNow() => AllowsToolTips; 18string IKeyboardToolTip.GetCaptionForTool(ToolTip toolTip) => ToolTipText; 20Rectangle IKeyboardToolTip.GetNativeScreenRectangle() => GetNativeRectangle(Index); 22IList<Rectangle> IKeyboardToolTip.GetNeighboringToolsRectangles() 64IWin32Window? IKeyboardToolTip.GetOwnerWindow() => _listView; 66bool IKeyboardToolTip.HasRtlModeEnabled() => _listView?.RightToLeft == RightToLeft.Yes; 68bool IKeyboardToolTip.IsBeingTabbedTo() => Control.AreCommonNavigationalKeysDown(); 70bool IKeyboardToolTip.IsHoveredWithMouse() => _listView?.AccessibilityObject.Bounds.Contains(Control.MousePosition) ?? false; 72void IKeyboardToolTip.OnHooked(ToolTip toolTip) => OnKeyboardToolTipHook(toolTip); 74void IKeyboardToolTip.OnUnhooked(ToolTip toolTip) => OnKeyboardToolTipUnhook(toolTip); 76bool IKeyboardToolTip.ShowsOwnToolTip() => AllowsToolTips;
System\Windows\Forms\Controls\ToolStrips\ToolStripItem.cs (19)
3549bool IKeyboardToolTip.CanShowToolTipsNow() 3550=> Visible && _parent is not null && ((IKeyboardToolTip)_parent).AllowsChildrenToShowToolTips(); 3552Rectangle IKeyboardToolTip.GetNativeScreenRectangle() => AccessibilityObject.Bounds; 3554IList<Rectangle> IKeyboardToolTip.GetNeighboringToolsRectangles() 3570neighbors.Add(((IKeyboardToolTip)items[previousIndex]).GetNativeScreenRectangle()); 3576neighbors.Add(((IKeyboardToolTip)items[nextIndex]).GetNativeScreenRectangle()); 3590neighbors.Add(((IKeyboardToolTip)dropDown.OwnerItem).GetNativeScreenRectangle()); 3596bool IKeyboardToolTip.IsHoveredWithMouse() 3597=> ((IKeyboardToolTip)this).GetNativeScreenRectangle().Contains(Control.MousePosition); 3599bool IKeyboardToolTip.HasRtlModeEnabled() 3600=> _parent is not null && ((IKeyboardToolTip)_parent).HasRtlModeEnabled(); 3602bool IKeyboardToolTip.AllowsToolTip() => true; 3604IWin32Window IKeyboardToolTip.GetOwnerWindow() 3610void IKeyboardToolTip.OnHooked(ToolTip toolTip) => OnKeyboardToolTipHook(toolTip); 3612void IKeyboardToolTip.OnUnhooked(ToolTip toolTip) => OnKeyboardToolTipUnhook(toolTip); 3614string? IKeyboardToolTip.GetCaptionForTool(ToolTip toolTip) => ToolTipText; 3616bool IKeyboardToolTip.ShowsOwnToolTip() => true; 3618bool IKeyboardToolTip.IsBeingTabbedTo() => IsBeingTabbedTo(); 3620bool IKeyboardToolTip.AllowsChildrenToShowToolTips() => true;
System\Windows\Forms\Controls\ToolStrips\ToolStripManager.ModalMenuFilter.cs (3)
46private readonly WeakReference<IKeyboardToolTip?> _lastFocusedTool = new(null); 165IKeyboardToolTip? lastFocusedTool = KeyboardToolTipStateMachine.Instance.LastFocusedTool; 213if (_lastFocusedTool.TryGetTarget(out IKeyboardToolTip? tool) && tool is not null)
System\Windows\Forms\Controls\TreeView\TreeNode.IKeyboardToolTip.cs (13)
10bool IKeyboardToolTip.AllowsChildrenToShowToolTips() => AllowToolTips; 12bool IKeyboardToolTip.AllowsToolTip() => true; 14bool IKeyboardToolTip.CanShowToolTipsNow() => AllowToolTips; 16string IKeyboardToolTip.GetCaptionForTool(ToolTip toolTip) => ToolTipText; 18Rectangle IKeyboardToolTip.GetNativeScreenRectangle() => RectangleToScreen(Bounds); 20IList<Rectangle> IKeyboardToolTip.GetNeighboringToolsRectangles() 39IWin32Window? IKeyboardToolTip.GetOwnerWindow() => TreeView; 41bool IKeyboardToolTip.HasRtlModeEnabled() => TreeView?.RightToLeft == RightToLeft.Yes; 43bool IKeyboardToolTip.IsBeingTabbedTo() => Control.AreCommonNavigationalKeysDown(); 45bool IKeyboardToolTip.IsHoveredWithMouse() => TreeView?.AccessibilityObject.Bounds.Contains(Control.MousePosition) ?? false; 47void IKeyboardToolTip.OnHooked(ToolTip toolTip) => OnKeyboardToolTipHook(toolTip); 49void IKeyboardToolTip.OnUnhooked(ToolTip toolTip) => OnKeyboardToolTipUnhook(toolTip); 51bool IKeyboardToolTip.ShowsOwnToolTip() => AllowToolTips;
System\Windows\Forms\ToolTip\KeyboardToolTipStateMachine.cs (20)
45private IKeyboardToolTip? _currentTool; 49private readonly WeakReference<IKeyboardToolTip?> _lastFocusedTool = new(null); 55private SmState Transition(IKeyboardToolTip tool, ToolTip tooltip, SmEvent @event) 85public void Hook(IKeyboardToolTip tool, ToolTip toolTip) 94public void NotifyAboutMouseEnter(IKeyboardToolTip sender) 102private bool IsToolTracked(IKeyboardToolTip sender) 107public void NotifyAboutLostFocus(IKeyboardToolTip sender) 119public void NotifyAboutGotFocus(IKeyboardToolTip sender) 131public void Unhook(IKeyboardToolTip tool, ToolTip toolTip) 145internal IKeyboardToolTip? LastFocusedTool 149if (_lastFocusedTool.TryGetTarget(out IKeyboardToolTip? tool)) 158private SmState HideAndStartWaitingForRefocus(IKeyboardToolTip tool, ToolTip toolTip) 168private SmState StartWaitingForRefocus(IKeyboardToolTip tool) 177Transit(SmEvent.RefocusWaitDelayExpired, (IKeyboardToolTip)toolObject); 184private SmState SetupReshowTimer(IKeyboardToolTip tool, ToolTip toolTip) 193private SmState ShowToolTip(IKeyboardToolTip tool, ToolTip toolTip) 221private SmState SetupInitShowTimer(IKeyboardToolTip tool, ToolTip toolTip) 250private void Transit(SmEvent @event, IKeyboardToolTip source) 328private void StartTracking(IKeyboardToolTip tool, ToolTip toolTip) 333private void StopTracking(IKeyboardToolTip tool, ToolTip toolTip)
System\Windows\Forms\ToolTip\KeyboardToolTipStateMachine.ToolToTipDictionary.cs (3)
12private readonly ConditionalWeakTable<IKeyboardToolTip, WeakReference<ToolTip?>> _table = []; 14public ToolTip? this[IKeyboardToolTip tool] 43public void Remove(IKeyboardToolTip tool, ToolTip toolTip)
System\Windows\Forms\ToolTip\ToolTip.cs (4)
123internal void HideToolTip(IKeyboardToolTip currentTool) 1474internal void ShowKeyboardToolTip(string? text, IKeyboardToolTip tool, int duration) 1547private Point GetOptimalToolTipPosition(IKeyboardToolTip tool, Rectangle toolRectangle, int width, int height) 1595Rectangle topContainerBounds = ((IKeyboardToolTip?)TopLevelControl)?.GetNativeScreenRectangle() ?? Rectangle.Empty;
System.Windows.Forms.Tests (77)
KeyboardTooltipStateMachineTests.cs (4)
16Mock<IKeyboardToolTip> mock = new(MockBehavior.Strict); 17IKeyboardToolTip keyboardToolTip = mock.Object; 74IKeyboardToolTip currentTool = instance.TestAccessor().Dynamic._currentTool; 106IKeyboardToolTip currentTool = instance.TestAccessor().Dynamic._currentTool;
System\Windows\Forms\ContainerControlTests.cs (2)
1329IKeyboardToolTip currentTool = instance.TestAccessor().Dynamic._currentTool; 1354IKeyboardToolTip currentTool = instance.TestAccessor().Dynamic._currentTool;
System\Windows\Forms\DataGridViewCellTests.cs (3)
4810IList<Rectangle> neighbors00 = ((IKeyboardToolTip)control.Rows[0].Cells[0]).GetNeighboringToolsRectangles(); 4815IList<Rectangle> neighbors21 = ((IKeyboardToolTip)control.Rows[2].Cells[1]).GetNeighboringToolsRectangles(); 4822IList<Rectangle> neighbors33 = ((IKeyboardToolTip)control.Rows[3].Cells[3]).GetNeighboringToolsRectangles();
System\Windows\Forms\ListViewItem.IKeyboardToolTipTests.cs (40)
28Assert.True(((IKeyboardToolTip)listViewItem).AllowsToolTip()); 50Assert.Equal(expectedResult, ((IKeyboardToolTip)listViewItem).AllowsChildrenToShowToolTips()); 72Assert.Equal(expectedResult, ((IKeyboardToolTip)listViewItem).CanShowToolTipsNow()); 95Assert.Equal(toolTipText, ((IKeyboardToolTip)listViewItem).GetCaptionForTool(toolTip)); 114Assert.Equal(rectangleIsEmpty, ((IKeyboardToolTip)listViewItem).GetNativeScreenRectangle().IsEmpty); 133Assert.Equal(rectangleIsEmpty, ((IKeyboardToolTip)listViewItem).GetNativeScreenRectangle().IsEmpty); 154Assert.Equal(expectedWidth, ((IKeyboardToolTip)listViewItem).GetNativeScreenRectangle().Width); 171int actualWidth = ((IKeyboardToolTip)listViewItem).GetNativeScreenRectangle().Width; 173Assert.True(columnWidth > ((IKeyboardToolTip)listViewItem).GetNativeScreenRectangle().Width); 189Assert.Equal(expectedWidth, ((IKeyboardToolTip)listViewItem).GetNativeScreenRectangle().Width); 205Assert.Equal(expectedWidth, ((IKeyboardToolTip)listViewItem).GetNativeScreenRectangle().Width); 213Assert.Empty(((IKeyboardToolTip)listViewItem).GetNeighboringToolsRectangles()); 224Assert.Empty(((IKeyboardToolTip)listViewItem).GetNeighboringToolsRectangles()); 233Assert.Empty(((IKeyboardToolTip)listViewItem).GetNeighboringToolsRectangles()); 248IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[0]).GetNeighboringToolsRectangles(); 266IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[1]).GetNeighboringToolsRectangles(); 285IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[2]).GetNeighboringToolsRectangles(); 303IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[3]).GetNeighboringToolsRectangles(); 322IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[4]).GetNeighboringToolsRectangles(); 342IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[5]).GetNeighboringToolsRectangles(); 361IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[6]).GetNeighboringToolsRectangles(); 379IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[7]).GetNeighboringToolsRectangles(); 398IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[8]).GetNeighboringToolsRectangles(); 417IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[0]).GetNeighboringToolsRectangles(); 436IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[1]).GetNeighboringToolsRectangles(); 457IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[2]).GetNeighboringToolsRectangles(); 477IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[3]).GetNeighboringToolsRectangles(); 498IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[4]).GetNeighboringToolsRectangles(); 520IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[5]).GetNeighboringToolsRectangles(); 541IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[6]).GetNeighboringToolsRectangles(); 561IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[7]).GetNeighboringToolsRectangles(); 581IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[8]).GetNeighboringToolsRectangles(); 597IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[0]).GetNeighboringToolsRectangles(); 614IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[1]).GetNeighboringToolsRectangles(); 632IList<Rectangle> neighboringToolsRectangles = ((IKeyboardToolTip)listView.Items[2]).GetNeighboringToolsRectangles(); 657Assert.Equal(expectedOwner, ((IKeyboardToolTip)listViewItem).GetOwnerWindow()); 682Assert.Equal(expected, ((IKeyboardToolTip)listViewItem).HasRtlModeEnabled()); 720Assert.Equal(expected, ((IKeyboardToolTip)listViewItem).IsHoveredWithMouse()); 747Assert.Equal(expectedResult, ((IKeyboardToolTip)listViewItem).ShowsOwnToolTip()); 827return ((IKeyboardToolTip)listView).GetNativeScreenRectangle();
System\Windows\Forms\TabPageTests.cs (5)
4910string actual = ((IKeyboardToolTip)control).GetCaptionForTool(toolTip); 4927string actual = ((IKeyboardToolTip)control).GetCaptionForTool(toolTip); 4938string actual = ((IKeyboardToolTip)control).GetCaptionForTool(toolTip); 4948IList<Rectangle> actual = ((IKeyboardToolTip)control).GetNeighboringToolsRectangles(); 4970IList<Rectangle> neighborsRectangles = ((IKeyboardToolTip)testedTab).GetNeighboringToolsRectangles();
System\Windows\Forms\TestAccessors.KeyboardToolTipStateMachineTestAccessor.cs (1)
15internal bool IsToolTracked(IKeyboardToolTip sender) => (bool)Dynamic.IsToolTracked(sender);
System\Windows\Forms\TreeNode.IKeyboardToolTipTests.cs (22)
27Assert.True(((IKeyboardToolTip)treeNode).AllowsToolTip()); 48Assert.Equal(expectedResult, ((IKeyboardToolTip)treeNode).AllowsChildrenToShowToolTips()); 69Assert.Equal(expectedResult, ((IKeyboardToolTip)treeNode).CanShowToolTipsNow()); 91Assert.Equal(toolTipText, ((IKeyboardToolTip)treeNode).GetCaptionForTool(toolTip)); 113Assert.Equal(expectedBounds, ((IKeyboardToolTip)treeNode).GetNativeScreenRectangle()); 126IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)firstTreeNode).GetNeighboringToolsRectangles(); 142IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)middleTreeNode).GetNeighboringToolsRectangles(); 159IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)lastTreeNode).GetNeighboringToolsRectangles(); 177IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)firstSubNode).GetNeighboringToolsRectangles(); 196IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)middleSubNode).GetNeighboringToolsRectangles(); 215IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)lastSubNode).GetNeighboringToolsRectangles(); 236IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)subSubNode).GetNeighboringToolsRectangles(); 255IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)middleNode).GetNeighboringToolsRectangles(); 276IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)middleNode).GetNeighboringToolsRectangles(); 296IList<Rectangle> neighboringRectangles = ((IKeyboardToolTip)lastSubNode).GetNeighboringToolsRectangles(); 308Assert.Empty(((IKeyboardToolTip)treeNodesList[0]).GetNeighboringToolsRectangles()); 309Assert.Empty(((IKeyboardToolTip)treeNodesList[1]).GetNeighboringToolsRectangles()); 310Assert.Empty(((IKeyboardToolTip)treeNodesList[2]).GetNeighboringToolsRectangles()); 328Assert.Equal(expectedOwner, ((IKeyboardToolTip)treeNode).GetOwnerWindow()); 351Assert.Equal(expected, ((IKeyboardToolTip)treeNode).HasRtlModeEnabled()); 391Assert.Equal(expected, ((IKeyboardToolTip)treeNode).IsHoveredWithMouse()); 417Assert.Equal(expectedResult, ((IKeyboardToolTip)treeNode).ShowsOwnToolTip());
System.Windows.Forms.UI.IntegrationTests (3)
TabControlTests.cs (3)
70bool result = ((IKeyboardToolTip)tabControl).IsHoveredWithMouse(); 71bool resultOfPage1 = ((IKeyboardToolTip)tabControl.TabPages[0]).IsHoveredWithMouse(); 72bool resultOfPage2 = ((IKeyboardToolTip)tabControl.TabPages[1]).IsHoveredWithMouse();