void DocPagesContainerDrawItem(object sender, DrawItemEventArgs e) { // draw close_tab image ( red cross ) TabPage tab_page = DocPagesContainer.TabPages[e.Index]; Rectangle tab_rect = DocPagesContainer.GetTabRect(e.Index); tab_rect.Inflate(-2, -2); Bitmap close_img = Properties.Resources.close_tab; e.Graphics.DrawImage(close_img, (tab_rect.Right - close_img.Width), tab_rect.Top + (tab_rect.Height - close_img.Height) >> 1); TextRenderer.DrawText(e.Graphics, tab_page.Text, tab_page.Font, tab_rect, tab_page.ForeColor, TextFormatFlags.Left); }
void DocPagesContainerMouseUp(object sender, MouseEventArgs e) { Rectangle tab_rect; Rectangle img_rect; Bitmap close_img; for (int i = 0; i < DocPagesContainer.TabPages.Count; i++) { tab_rect = DocPagesContainer.GetTabRect(i); tab_rect.Inflate(-2, -2); close_img = Properties.Resources.close_tab; img_rect = new Rectangle((tab_rect.Right - close_img.Width), tab_rect.Top + (tab_rect.Height - close_img.Height) >> 1, close_img.Width, close_img.Height); if (img_rect.Contains(e.Location)) { delete_page(DocPagesContainer.TabPages[i], false); break; } } }