当我将treeview添加到我以程序方式创建的窗口时,工具提示仅显示光标在进入节点之前的工具提示节点上的时间。
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);
}
}
您需要添加Windows窗体作为项目的参考来测试它。 如果将树视图添加到使用默认Windows窗体项目创建的窗口,则悬停可以正常工作。
尝试在进入之前将光标悬停在节点2上而不将光标悬停在节点上。
然后将鼠标移动到节点1,然后再移回节点2.工具提示将显示光标是否在之前有工具提示的节点上。
为什么?如何解决此问题/使其正常工作?
答案 0 :(得分:4)
添加Application.EnableVisualStyles();作为Main方法的第一行。不知道为什么!