gpt4 book ai didi

c# - "Tool tip"是否被 ToolStripItems 覆盖(如果它们有下拉项)?

转载 作者:行者123 更新时间:2023-11-30 17:22:48 28 4
gpt4 key购买 nike

在 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

最佳答案

试试这段代码

//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);
}

关于c# - "Tool tip"是否被 ToolStripItems 覆盖(如果它们有下拉项)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2590515/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com