0

我有一个用 C# 编写的 winform 应用程序。我的winform中有一个imageList,我有一个tabcontrol,每个选项卡我通过更改ImageIndex为选项卡分配一个图像作为选项卡的图标。

但是,每个选项卡只有 1 个图像,我希望它们更改为所选选项卡的另一个图像(例如活动选项卡的另一个突出显示的图像)。我有一个想法将所有图像添加到 imageList(活动和非活动图像)并更改所选选项卡的 imageIndex。但我不确定如何在实际中做到这一点。

这是我目前可以想出的代码:

在 SelectedIndexChange 事件中,我有一个函数:

foreach (TabPage tab in tabControl1) 
{
    if (tab.index == tabControl1.SelectedIndex) { <---how to get the index?
        tab.imageIndex = tab.index + tabControl1.TabCount;
    } else {
        tab.imageIndex = tab.index;
    }
}
4

1 回答 1

0

我想出了一个解决方案

for (int i=0; i<tabControl1.TabPages.Count; i++)
        {
            if (tabControl1.TabPages[i] == tabControl1.SelectedTab)
            {
                tabControl1.TabPages[i].ImageIndex = i + tabControl1.TabPages.Count;
            }
            else
            {
                tabControl1.TabPages[i].ImageIndex = i;
            }
        }
于 2013-05-13T07:58:52.740 回答