繁体   English   中英

C#winform更改选定的tabcontrol图像

[英]C# winform change selected tabcontrol image

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

但是,每个选项卡只有一张图像,我希望它们更改为所选选项卡的另一幅图像(就像活动选项的另一幅突出显示的图像一样)。 我有一个想法,将所有图像添加到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;
    }
}

我想出了一个解决方案

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;
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM