当我将树视图添加到以编程方式创建的窗口中时,工具提示仅在光标位于具有工具提示的节点上时才显示,然后再进入节点。
class Program
{
private static Form window;
private static TreeView treeView;
static void Main(string[] args)
{
InitialiseComponent();
window.ShowDialog();
}
private static void InitialiseComponent()
{
window = new Form();
treeView = new TreeView(){ShowNodeToolTips = true};
TreeNode node1 = new TreeNode { Text = "node1", ToolTipText = "node1Tooltip" };
TreeNode node2 = new TreeNode { Text = "node2", ToolTipText = "node2Tooltip" };
TreeNode node3 = new TreeNode { Text = "node3" };
TreeNode node11 = new TreeNode { Text = "node1.1" };
TreeNode node21 = new TreeNode { Text = "node2.1", ToolTipText = "node2.1Tooltip" };
TreeNode node22 = new TreeNode { Text = "node2.2"};
node1.Nodes.Add(node11);
node2.Nodes.Add(node21);
node2.Nodes.Add(node22);
treeView.Nodes.Add(node1);
treeView.Nodes.Add(node2);
treeView.Nodes.Add(node3);
window.Controls.Add(treeView);
}
}
您需要添加窗口窗体作为对项目的引用来测试这一点。如果将树视图添加到使用默认窗口窗体项目创建的窗口,则悬停将正常工作。
在进入之前,尝试将光标直接悬停在节点 2 上,不要将光标悬停在节点上。
然后将鼠标向上移动到节点 1,然后移回节点 2。工具提示将显示光标是否位于之前具有工具提示的节点上。
为什么?我该如何解决这个问题/让它工作?
添加 application.EnableVisualStyles((; 作为 Main 方法的第一行。不知道为什么!