Ben moi j'ai mieux et pas de miracle, il faut remplacer les Tabs par des panels lors du chargement de la form.
Avantage: En mode conception, on beneficie de la souplesse des Tabs.
Voici le code
Declarer en variable global de la form:
private Panel[] P; // Tableau de Panel
Le Load doit etre complété avec ce qui suit
private void Form1_Load(object sender, System.EventArgs e)
{
// Initialisation du tableau de panels avec une longueur
// égale au nombre de tabs
P = new Panel[tabControl1.TabCount];
// Copie des controls de chaque tab dans le panel correspondant
for (int i=0;i<=tabControl1.TabCount - 1;i++)
{
P[i] = new Panel();
P[i].Location = tabControl1.Location;
P[i].Size = tabControl1.TabPages[i].Size;
Control[] tabControls;
tabControls = new Control[tabControl1.TabPages[i].Controls.Count];
tabControl1.TabPages[i].Controls.CopyTo(tabControls, 0);
P[i].Controls.AddRange(tabControls);
}
// Ajout des panels a la form
Controls.AddRange(P);
// Suppression du tabControl
Controls.Remove(tabControl1);
}
Et enfin pour mettre en avant un panel :
P[index].BringToFront();

Philippe