@zDisik

Как добавить кнопку закрытия на tabpage c#(winforms)?

Нужно чтоб на каждой создаваемой вкладке был крестик для закрытия этой вкладки, так же как и в браузерах(Mozilla,Opera...) Используя Winforms.
  • Вопрос задан
  • 2081 просмотр
Пригласить эксперта
Ответы на вопрос 1
DmitryITWorksMakarov
@DmitryITWorksMakarov
Создать наследника от TabControl.

В в режиме дизайнера установить DrawMode=System.Windows.Forms.TabDrawMode.OwnerDrawFixed;

Переопределить OnDrawItem:
рисование крестика поверх базовой реализации рисования вкладки.

Переопределить OnMouseClick:
Перебрать в цикле все вкладки idx от 0 до TabCount-1. Проверять попадают ли координаты мыши в TabRect=GetTabRect(idx) и внутри TabRect попадают ли в Rectangle описывающий ваш крестик. Если да, то удалить из TabControl это вкладку и прервать цикл.

У структуры Rectangle есть метод для проверки попадает ли Point во внутрь его.

P.S. К сожалению я далеко от вижуал студии, поэтому только идея....без реализации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы