Добавление всплывающей подсказки к OvalShape в C#

Я пытаюсь добавить всплывающую подсказку OvalShape (Microsoft.VisualBasic.PowerPacks.OvalShape). Так как это не ControlЯ не могу использовать простое SetToolTip() метод в ToolTip учебный класс. Как я могу показать ToolTip на OvalShape? Мне не обязательно использовать ToolTip класс, если у кого-нибудь есть идеи получше. Я также хотел бы сохранить OvalShapeесли у кого-то нет лучшего решения, которое может дать мне наследство от Control сохраняя при этом хорошую круглую форму.

1 ответ

Решение

Вам придется воспользоваться событием MouseHover, которое вы можете получить из-под контроля. Это сработало достаточно хорошо:

    bool hoverSeen = false;

    private void ovalShape1_MouseHover(object sender, EventArgs e) {
        if (!hoverSeen) {
            hoverSeen = true;
            // Todo, fix position
            Point pos = ovalShape1.Parent.PointToClient(Cursor.Position);
            toolTip1.Show("On oval", ovalShape1.Parent, pos);
        }
    }

    private void ovalShape1_MouseLeave(object sender, EventArgs e) {
        if (hoverSeen) toolTip1.Hide(ovalShape1.Parent);
        hoverSeen = false;
    }
Другие вопросы по тегам