【发布时间】:2008-09-12 03:05:23
【问题描述】:
我有一个菜单,其中包含一些最近使用的文件路径等。这些文件的路径可能很长,因此文本有时会像“C:\Progra...\foo.txt”一样被剪裁
当用户将鼠标悬停在项目上时,我想弹出一个带有完整路径的工具提示,但这对于 .NET 2.0 中的 Tooltip 类似乎是不可能的。
我是否遗漏了一些明显的东西?
【问题讨论】:
我有一个菜单,其中包含一些最近使用的文件路径等。这些文件的路径可能很长,因此文本有时会像“C:\Progra...\foo.txt”一样被剪裁
当用户将鼠标悬停在项目上时,我想弹出一个带有完整路径的工具提示,但这对于 .NET 2.0 中的 Tooltip 类似乎是不可能的。
我是否遗漏了一些明显的东西?
【问题讨论】:
如果您使用System.Windows.Forms.MenuItem 类创建菜单项,您将没有“ToolTipText”属性。
您应该使用自 .Net Framework 2.0 起新增的 System.Windows.Forms.ToolStripMenuItem 类,并且确实包含“ToolTipText”属性。
您还必须记住在 MenuStrip 控件上指定 ShowItemToolTips = True
【讨论】:
在 MenusTrip 上设置“ShowItemToolTips = True”,在 ToolStripMenuItem 上设置您的 ToolTipText
yourMenuStrip.ShowItemToolTips = true;
yourToolStripMenuItem.ToolTipText = "some txt";
【讨论】:
工具提示由以下人员手动设置:
testToolStripMenuItem2.ToolTipText = "My tooltip text";
例如,MenuItem 可以是此菜单群的一部分:带有菜单项和子菜单项的菜单条。 (如果您使用 Visual Studio,此管道代码会在设计器文件背后的代码中自动为您生成)
MenuStrip menuStrip1;
ToolStripMenuItem testToolStripMenuItem; // Menu item on menu bar
menuStrip1.Items.Add(testToolStripMenuItem);
ToolStripMenuItem testToolStripMenuItem2; // Sub menu item
testToolStripMenuItem.DropDownItems.Add(testToolStripMenuItem2)
【讨论】:
可能是我误解了你的问题,但是你为什么需要使用Tooltip 类呢?您可以将您的文本分配给ToolTipText 属性,它将显示给用户。
【讨论】:
有一篇关于 CodeProject 的文章实现了具有自定义工具提示支持的 ToolStrip 的派生版本。这在默认工具提示支持不够灵活的情况下可能很有用。 http://www.codeproject.com/Tips/376643/ToolStrip-with-custom-ToolTip
【讨论】:
也许您忘记使用SetToolTip 将工具提示与控件相关联。
【讨论】: