2009-10-05 7 views
1

J'utilise un tabcontrol, je souhaite supprimer un onglet particulier du contrôle. La valeur que je dois faire cela dans une chaîne que je dynamiquement.Suppression d'une tabulation de tabcontrol à l'aide de l'application C# windows

Comment supprimer l'onglet de tabcontrol en utilisant un nom d'onglet existant que j'ai dans une chaîne ??

Le problème que je suis confronté est ..

J'ai essayé d'utiliser tabcontrol1.tabpages.remove (nom de tabpage);

Dans la syntaxe ci-dessus je dois passer le nom de la tabulation, mais j'ai la valeur dans une chaîne.

Répondre

3

avez-vous la page de l'onglet nom ou la page d'onglet texte?

Si c'est le nom:

string tabToRemove = "tabPageName"; 
for (int i = 0; i < myTabControl.TabPages.Count; i++) 
{ 
    if (myTabControl.TabPages[i].Name.Equals(tabToRemove, StringComparison.OrdinalIgnoreCase)) 
    { 
     myTabControl.TabPages.RemoveAt(i); 
     break; 
    } 
} 

Si c'est le texte, vous pouvez tout simplement utiliser la propriété Text au lieu de la propriété Name.

2

il semble que lorsque vous ajoutez un tabpage que vous utilisez: tabControl1.TabPages.Add(string text)
Ou essayez d'utiliser: tabControl.TabPages.Add(string key, string text) puis retirez TabPages par clé: tabControl1.TabPages.Remove(string key) (vous pouvez définir key = tabpage text si elles sont toutes distinctes)

ou créer un fonction qui se trouve un onglet par son texte:

TabPage tp; 
    foreach (TabPage ttp in tabControl1.TabPages) 
    { 
     if (ttp.Text == "tab text") tp = ttp; 
     break; 
    } 
    tabControl1.TabPages.Remove(tp); 
Questions connexes