2013-05-13 80 views
0

我有用C#編寫的winform應用程序。我在我的winform中有一個imageList,並且我有一個tabcontrol,並且每個選項卡通過更改ImageIndex來爲該選項卡分配圖像作爲圖標。C#winform更改選定tabcontrol圖像

然而,他們只有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

你的意思是該圖像顯示爲活動標籤? – matzone 2013-05-13 07:47:15

+0

只需使用選定事件切換到高亮圖像,取消選擇事件即可將其恢復。 – 2013-05-13 13:03:48

回答

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