C # способ реализации вертикальной панели инструментов с автоматическим скрытием - PullRequest
3 голосов
/ 14 января 2012

То, что я пытаюсь создать, очень похоже на «Панель инструментов» в VS 2008 и VS 2010. Оно будет слева от моего родителя MDI и появится, когда пользователь наведет на него курсор мыши.Опять же, это так же, как VS Toolbox.

Мой вопрос: каков наилучший способ реализовать это?Пожалуйста, имейте в виду, я помещаю это на левой стороне родителя MDI и использую VS 2008, C # и .NET 3.5.Кроме того, я планирую поместить TreeView внутри панели инструментов, поэтому все, что используется, должно поддерживать добавление объекта TreeView.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 14 января 2012

Вертикальная панель инструментов с автоматическим скрытием, из того, что я собрал в сети и в ходе тестирования, лучше всего реализована с помощью объекта ToolStrip, прикрепленного слева в моем случае.Чтобы создать видимость объекта TreeView, добавьте ToolStripButton.Затем добавьте событие MouseHover в ToolStripButton, которое делает объект Panel (также закрепленный слева) видимым.Очевидно, что было бы лучше сделать объект Panel невидимым по умолчанию.Затем добавьте событие MouseLeave для Panel, чтобы, когда пользователь покидает Panel, Panel снова становится невидимой или «всплывает» обратно.

У него нет такого приятного эффекта, как в Visual BasicStudio 2008/2010 делает, но у нее есть базовый функционал, который мне нужен.

Вот код для событий MouseHover и MouseLeave.Очень просто.

    private void openPanel1ToolStripButton_MouseHover(object sender, EventArgs e)
    {
        if(panel1.Visible == false)
        {
            panel1.Visible = true;
        }
    }

    private void panel1_MouseLeave(object sender, EventArgs e)
    {
        if (panel2.Visible == true)
        {
            panel2.Visible = false;
        }
    }
1 голос
/ 15 января 2012

Взгляните на DockPanel Suite на SourceForge. Я видел много пользовательских элементов управления в сети, пытающихся имитировать панель инструментов VS, но ни один не работает так хорошо, как этот. Он также имеет высокий рейтинг пользователей.

...