Hi anvina,
Check this example. Now please take its reference and correct your code.
C#
public Form2()
{
InitializeComponent();
tabControl.DrawMode = TabDrawMode.OwnerDrawFixed;
tabControl.SizeMode = TabSizeMode.Fixed;
}
private void tabControl_DrawItem(object sender, DrawItemEventArgs e)
{
try
{
var tabPage = this.tabControl.TabPages[e.Index];
var tabRect = this.tabControl.GetTabRect(e.Index);
tabRect.Inflate(-2, -2);
var closeImage = new Bitmap(Application.StartupPath.Replace("\\bin\\Debug", "") + "\\Images\\Close.jpg");
e.Graphics.DrawImage(closeImage, (tabRect.Right - closeImage.Width), tabRect.Top + (tabRect.Height - closeImage.Height) / 2);
TextRenderer.DrawText(e.Graphics, tabPage.Text, tabPage.Font, tabRect, tabPage.ForeColor, TextFormatFlags.Left);
}
catch (Exception ex) { throw new Exception(ex.Message); }
}
private void tabControl_MouseDown(object sender, MouseEventArgs e)
{
Rectangle r = tabControl.GetTabRect(this.tabControl.SelectedIndex);
Rectangle closeButton = new Rectangle(r.Right - 15, r.Top + 4, 9, 7);
if (closeButton.Contains(e.Location))
{
this.tabControl.TabPages.Remove(this.tabControl.SelectedTab);
}
}
VB.Net
Public Sub New()
InitializeComponent()
tabControl.DrawMode = TabDrawMode.OwnerDrawFixed
tabControl.SizeMode = TabSizeMode.Fixed
End Sub
Private Sub tabControl_DrawItem(ByVal sender As Object, ByVal e As DrawItemEventArgs) Handles TabControl.DrawItem
Try
Dim tabPage = Me.tabControl.TabPages(e.Index)
Dim tabRect = Me.tabControl.GetTabRect(e.Index)
tabRect.Inflate(-2, -2)
Dim closeImage = New Bitmap(Application.StartupPath.Replace("\bin\Debug", "") & "\Images\Close.jpg")
e.Graphics.DrawImage(closeImage, Convert.ToInt32((tabRect.Right - closeImage.Width)), Convert.ToInt32(tabRect.Top + (tabRect.Height - closeImage.Height) / 2))
TextRenderer.DrawText(e.Graphics, tabPage.Text, tabPage.Font, tabRect, tabPage.ForeColor, TextFormatFlags.Left)
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
Private Sub tabControl_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles TabControl.MouseDown
Dim r As Rectangle = tabControl.GetTabRect(Me.tabControl.SelectedIndex)
Dim closeButton As Rectangle = New Rectangle(r.Right - 15, r.Top + 4, 9, 7)
If closeButton.Contains(e.Location) Then
Me.tabControl.TabPages.Remove(Me.tabControl.SelectedTab)
End If
End Sub
Screenshot