«Подсказка» покрыта ToolStripItems, если у них есть выпадающие элементы? - PullRequest
3 голосов
/ 07 апреля 2010

В Windows Forms - если в раскрывающихся элементах MenuStrip есть всплывающие подсказки и сами выпадающие элементы, то вероятность появления всплывающей подсказки под ToolStripItems составляет около 50%.

Что такое обходной путь?

Для воспроизведения вы можете создать MenuStrip в Visual Studio или просто добавить следующий код в форму, а затем попытаться навести указатель мыши на элементы меню, чтобы получить подсказку:

        //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

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Попробуйте этот код

//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);
}
0 голосов
/ 10 февраля 2013

В CodeProject есть статья, в которой реализована производная версия ToolStrip с поддержкой пользовательских подсказок.Может быть альтернативным решением.http://www.codeproject.com/Tips/376643/ToolStrip-with-custom-ToolTip

...