Когда заводится TreeNode
в моем TreeView
, должен отображаться ToolTip
. И когда мышь оставит TreeNode
, ToolTip
должен исчезнуть. Я попытался сделать это, получив MousePosition
от PontToClient()
и Show()
ToolTip
до тех пор, пока MousePosition
не изменился. Он работает, но выглядит не очень хорошо. ToolTip
исчезает или не отображается, если мышь перемещается только малейшим образом.C# Показывать TreeNode ToolTip до тех пор, пока TreeNode не зависнет
Это дало несколько рабочий результат
private void treeView_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e)
{
ToolTip tip = new ToolTip();
tip.ToolTipTitle = e.Node.Name;
Point client = PointToClient(MousePosition);
while (client == PointToClient(MousePosition))
{
tip.Show(e.Node.Nodes.Count.ToString(), this, PointToClient(MousePosition));
}
tip.Dispose();
}
Вместо этого я пытаюсь показать ToolTip
до тех пор, как TreeNode
на MousePosition
такая же, как TreeNode
, вызвавшего событие. Но теперь ToolTip
никогда не показывает?
private void treeView_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e)
{
ToolTip tip = new ToolTip();
tip.ToolTipTitle = e.Node.Name;
while (e.Node == treeView.GetNodeAt(MousePosition))
{
tip.Show(e.Node.Nodes.Count.ToString(), this, PointToClient(MousePosition));
}
tip.Dispose();
}
UPDATE
Я просто понял, что этот результат в следующем исключение?
treeView.GetNodeAt(MousePosition).Name
Ссылка на объект не указывает на экземпляр объекта