Impossible de convertir bout de code en fonction
Bonjour,
Dans mon application l'interface est un menu sur la gauche qui ouvre les différents formulaires dans un tab control central en créant chaque fois un nouveau tab.
Pour faire ça, j'utilise ceci lorsqu'on clic par exemple sur le bouton settings du menu :
Code:
1 2 3 4 5 6 7 8 9 10 11
| TabControl1.Visible = True
Dim t As New TabPage
Dim newtab As New Settings(Me)
newtab.Show()
newtab.TopLevel = False
newtab.Dock = DockStyle.Fill
t.Text = "Paramétrage général"
t.Controls.Add(newtab)
TabControl1.TabPages.Add(t)
TabControl1.SelectedIndex = TabControl1.TabCount - 1
fonctions.writetolog("L'utilisateur " & connecteduser & " à ouvert " & t.Text) |
Ce bout de code s'exécute donc à chaque fois sur chaque bouton....
J'essaie de le passer en fonction pour limiter chaque appel à une seule ligne en faisant comme ceci :
La fonction à 2 variables, le formulaire à appeler et le texte à faire apparaître dans le tab :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Function opentab(ByVal fen As Form, ByVal text As String)
TabControl1.Visible = True
Dim t As New TabPage
Dim newtab As New fen(Me)
newtab.Show()
newtab.TopLevel = False
newtab.Dock = DockStyle.Fill
t.Text = text
t.Controls.Add(newtab)
TabControl1.TabPages.Add(t)
TabControl1.SelectedIndex = TabControl1.TabCount - 1
End Function |
Je ne sais pas pourquoi.... il ne veut pas reconnaître le paramètre fen.
Il me dit " le type fen n'est pas défini".
J'aimerais vraiment pouvoir compacter mon code car le menu ne cesse de grandir et je vais le doubler dans un ruban supérieur....
Quelqu'un à une idée?