Как добавить значок или изображение на вкладку в Visual Studio 2010 - PullRequest
11 голосов
/ 08 декабря 2011

Я хочу поместить значок в заголовок вкладки, чтобы this

winforms tabs
было похоже на this .

fancy tabs

Ответы [ 2 ]

15 голосов
/ 08 декабря 2011

Вы можете сделать это в VS Designer следующим образом:

  1. Добавить ImageList к вашей форме.
  2. Установить свойство ImageList TabControl для ImageListкоторый содержит значки.
  3. Установите для свойства ImageIndex или ImageKey каждого TabPage в TabControl желаемое изображение, которое вы хотите отобразить.

Если вы 'Я хотел бы сделать все это в коде, вот как это сделать.

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);
    }
}
3 голосов
/ 08 декабря 2011

Если вы используете WPF :

<TabItem>
    <TabItem.Header>
        <StackPanel Orientation="Horizontal">
            <Image VerticalAlignment="Center" Source="Icon Imagepath"/>
            <TextBlock>Tab header text</TextBlock>
        </StackPanel>
    </TabItem.Header>
</TabItem>

Если вы используете WinForms :

  1. Открыть форму в режиме дизайнера
  2. Перетащите ImageList на форму и заполните ее своими иконками.
  3. Установить свойство TabControl.ImageList.
  4. Для каждой вкладки установите свойство ImageIndex.
...