我有一个用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;
}
}
答案 0 :(得分: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;
}
}