ORDENAR TABPAGE CONTROL
Pessoal primeiramente boa tarde.
Gostaria de uma solução para ordenar os tabpage. O problema é o seguinte, Eles não estão ficando na ordem crescente. Por exemplo na imagem abaixo quando clico no Checkbox6 e depois no checkbox3 não fica na ordem. Alguma solução
aqui o código fonte para você olharem a lógica:
private void ShowTabPage(TabPage tp, int index)
{
if (tabControl1.TabPages.Contains(tp)) return;
InsertTabPage(tp, index);
}
private void InsertTabPage(TabPage tabpage, int index)
{
if (index < 0 )
throw new ArgumentException([Ô]Index out of Range.[Ô]);
tabControl1.TabPages.Add(tabpage);
if (index < tabControl1.TabCount - 1)
do
{
SwapTabPages(tabpage,
(tabControl1.TabPages[tabControl1.TabPages.IndexOf(tabpage) - 1]));
}
while (tabControl1.TabPages.IndexOf(tabpage) != index);
tabControl1.SelectedTab = tabpage;
}
private void SwapTabPages(TabPage tp1, TabPage tp2)
{
if (tabControl1.TabPages.Contains(tp1) == false|| tabControl1.TabPages.Contains(tp2) == false)
throw new ArgumentException([Ô]TabPages must be in the TabControls TabPageCollection.[Ô]);
int Index1 = tabControl1.TabPages.IndexOf(tp1);
int Index2 = tabControl1.TabPages.IndexOf(tp2);
tabControl1.TabPages[Index1] = tp2;
tabControl1.TabPages[Index2] = tp1;
}
quando eu altero a ordem do click veja como fica a ordem dos tabpage...
Gostaria de alguma solução se possÃvel .. att..
Thyago
Gostaria de uma solução para ordenar os tabpage. O problema é o seguinte, Eles não estão ficando na ordem crescente. Por exemplo na imagem abaixo quando clico no Checkbox6 e depois no checkbox3 não fica na ordem. Alguma solução
aqui o código fonte para você olharem a lógica:
private void ShowTabPage(TabPage tp, int index)
{
if (tabControl1.TabPages.Contains(tp)) return;
InsertTabPage(tp, index);
}
private void InsertTabPage(TabPage tabpage, int index)
{
if (index < 0 )
throw new ArgumentException([Ô]Index out of Range.[Ô]);
tabControl1.TabPages.Add(tabpage);
if (index < tabControl1.TabCount - 1)
do
{
SwapTabPages(tabpage,
(tabControl1.TabPages[tabControl1.TabPages.IndexOf(tabpage) - 1]));
}
while (tabControl1.TabPages.IndexOf(tabpage) != index);
tabControl1.SelectedTab = tabpage;
}
private void SwapTabPages(TabPage tp1, TabPage tp2)
{
if (tabControl1.TabPages.Contains(tp1) == false|| tabControl1.TabPages.Contains(tp2) == false)
throw new ArgumentException([Ô]TabPages must be in the TabControls TabPageCollection.[Ô]);
int Index1 = tabControl1.TabPages.IndexOf(tp1);
int Index2 = tabControl1.TabPages.IndexOf(tp2);
tabControl1.TabPages[Index1] = tp2;
tabControl1.TabPages[Index2] = tp1;
}
quando eu altero a ordem do click veja como fica a ordem dos tabpage...
Gostaria de alguma solução se possÃvel .. att..
Thyago
Faça seu login para responder