How to add an icon or image to a tab in Visual Studio 2010

Xel picture Xel · Dec 8, 2011 · Viewed 34k times · Source

I want to put an icon in the tab header so that this

winforms tabs
looks like this.

fancy tabs

Answer

Alex Essilfie picture Alex Essilfie · Dec 8, 2011

You can do it in the VS Designer this way:

  1. Add an ImageList to your form.
  2. Set the ImageList property of the TabControl to the ImageList which contains the icons.
  3. Set the ImageIndex or ImageKey property of each TabPage in the TabControl to the desired image you want to display.

If you'd like to do it all in code, here's how to go about it.

using System.Drawing;
using System.Windows.Forms;

public class Form1
{

    public void Form1()
    {
        InitializeComponent();

        // initialize the imagelist
        ImageList imageList1 = new ImageList();
        imageList1.Images.Add("key1", Image.FromFile(@"C:\path\to\file.jpg"));
        imageList1.Images.Add("key2", Image.FromFile(@"C:\path\to\file.ico"));

        //initialize the tab control
        TabControl tabControl1 = new TabControl();
        tabControl1.Dock = DockStyle.Fill;
        tabControl1.ImageList = imageList1;
        tabControl1.TabPages.Add("tabKey1", "TabText1", "key1"); // icon using ImageKey
        tabControl1.TabPages.Add("tabKey2", "TabText2", 1);      // icon using ImageIndex
        this.Controls.Add(tabControl1);
    }
}