Добавление всплывающей подсказки к 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;
}