在Windows窗体中 - 如果MenuStrip的下拉项具有工具提示和下拉项本身,则工具提示将有大约50%的可能性显示在ToolStripItems下方。
解决方法是什么?
要重新编辑,您可以在Visual Studio中创建MenuStrip,或者只需将以下代码添加到表单中,然后尝试将鼠标悬停在菜单项上以获取工具提示:
//Make a menu strip
MenuStrip menu = new MenuStrip();
this.Controls.Add(menu);
//Add category "File"
ToolStripMenuItem fileItem = new ToolStripMenuItem("File");
menu.Items.Add(fileItem);
//Add items
for (int i = 0; i < 10; i++)
{
ToolStripMenuItem item = new ToolStripMenuItem("item");
item.ToolTipText = "item tooltip";
item.DropDownItems.Add("sub item");
fileItem.DropDownItems.Add(item);
}
我正在使用.NET 3.5
答案 0 :(得分:2)
试试此代码
//Make a menu strip
MenuStrip menu = new MenuStrip();
this.Controls.Add(menu);
//Add category "File"
ToolStripMenuItem fileItem = new ToolStripMenuItem("File");
menu.Items.Add(fileItem);
this.toolTip = new ToolTip();
this.toolTip.AutoPopDelay = 0;
this.toolTip.AutomaticDelay = 0;
this.toolTip.UseAnimation = true;
//Add items
for (int i = 0; i < 10; i++)
{
ToolStripMenuItem item = new ToolStripMenuItem("item");
//disable the default tool tip of ToolStripMenuItem
item.AutoToolTip = false;
//instead, use Tooltip class to show to text when mouse hovers the item
item.MouseHover += new EventHandler(item_MouseHover);
item.DropDownItems.Add("sub item");
fileItem.DropDownItems.Add(item);
}
void item_MouseHover(object sender, EventArgs e)
{
ToolStripMenuItem mItem = (ToolStripMenuItem)sender;
toolTip.Show("tool tip", mItem.Owner, 1500);
}
答案 1 :(得分:0)
有一篇关于CodeProject的文章,它实现了ToolStrip的派生版本,并支持自定义工具提示。可能是另一种解决方案。 http://www.codeproject.com/Tips/376643/ToolStrip-with-custom-ToolTip